要启动代码和编译 C++,必须安装编译器。对于我的情况,MSYS2 通过它可以使用 MinGW。根据上提到的安装公会website ,我安装软件没有任何错误。现在我应该通过输入 pacman -Sys
来更新包数据库和基础包,但它显示了一个错误
错误:无法同步所有数据库(无法锁定数据库)
在网上搜索解决方案后,我发现删除/删除 db.lck
会起作用,为此,我使用了这个命令 rm/var/lib/pacman/db.lck
但它显示了另一个错误。目前网上还没有解决这个问题的方法。
我还粘贴了 MSYS2 MSYS 的终端输出以供引用。
$ pacman -Sys
:: Synchronizing package databases...
error: failed to synchronize all databases (unable to lock database)
VIRAT@DESKTOP-97BS0AB MSYS ~
$ rm /var/lib/pacman/db.lck
rm: cannot remove '/var/lib/pacman/db.lck': No such file or directory
VIRAT@DESKTOP-97BS0AB MSYS ~
$ pacman -S --needed base-devel mingw-w64-x86_64-toolchain
error: failed to init transaction (unable to lock database)
error: could not lock database: Permission denied
VIRAT@DESKTOP-97BS0AB MSYS ~
$ pacman -Su
error: failed to init transaction (unable to lock database)
error: could not lock database: Permission denied
VIRAT@DESKTOP-97BS0AB MSYS ~
$
最佳答案
我发现这个错误有 2 个解决方案。两种都试试:
解决方案:1
C:\Users\您的帐户名\AppData\Roaming\Microsoft\Windows\开始菜单\程序\MSYS2 64 位
以管理员
运行“MSYS2 MSYS”运行命令:pacman -Syu
解决方案 - 2:
C:\msys64\var\lib\pacman(转到下载的文件夹)
删除“db.lck”文件
资源:
对于解决方案 1:Padro 先生 ( https://stackoverflow.com/users/18910613/pedro ) 的解决方案帮助了我。
对于解决方案 2 https://www.reddit.com/r/archlinux/comments/nvrny2/pacman_error_failed_to_synchronize_all_databases/
关于c++ - MinGW pacman -Sys 无法锁定数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71891509/