安装,只是没有链接
注意:我并不擅长使用shell。
我试图在优胜美Valgrind
使用brew
来安装Valgrind
。
brew install --HEAD valgrind
最后,我得到了一个连接错误,所以当我试图重新安装时,我得到了:
警告:valgrind-HEAD已经安装,只是没有链接
所以显然我已经安装了它。 然后基于其他SO问题和答案,我试过:
brew link valgrind
这似乎解决了其他人连接已经安装的软件的问题,但这给了我一个错误:
Linking /usr/local/Cellar/valgrind/HEAD... Error: Could not symlink lib/pkgconfig/valgrind.pc /usr/local/lib/pkgconfig is not writable.
我也尝试更新brew
但没有解决问题。 如果它不可写,也许sudo
会给我的权限,但我不想使用sudo
而不知道我在做什么。
发生了什么事以及如何解决?
看起来像一个权限问题。 我会尝试这样做
chmod 755 /usr/local/lib/pkgconfig
这应该使可用,然后尝试
brew link valgrind
如果这不起作用,我会尝试做一个检查
brew doctor
第一次运行
brew link <package>
如果出现错误,请尝试进行自动诊断
brew doctor
brew doctor
列出了可能导致安装过程中出现错误的问题。
要修复发生冲突的文件时遇到的问题,请运行以获取所有将通过覆盖执行而不实际执行的操作的列表。
要列出所有将被删除的文件:
brew link --overwrite --dry-run <package>
然后执行这个将执行覆盖的运行,假设你认为覆盖执行的操作将使你的系统进入一个更稳定的状态 。
强制链接并覆盖所有冲突的文件:
brew link --overwrite <package>
如果以上解决scheme都无效,请尝试此操作。
sudo chown -R $USER:admin /usr/local brew link <package-name>
在我的情况下, 酿造医生是正确的。 在某处,/ usr / local / lib / pkgconfig被设置为由root用户拥有,而不是由我的帐户拥有。 规定的补救办法工作 –
sudo chown -R $(whoami) /usr/local/lib/pkgconfig
types
link valgrind
它会显示一个错误,它不能被链接,因为这样的目录是不可写的。 很酷,我们现在写它。 types
sudo chmod a+w the/directory/shown/as/error
如果该目录不可写,则无法更改其权限并使其可写。 Sudo将使此操作成为可能。 chmod将改变模式,并将使所有(a)用户能够写(w)它。
接下来,系统会提示您input系统密码。 之后,再次input
link valgrind
这一次它会工作。
我有类似的问题,
$ brew install sqlite更新自制软件… ==>自动更新自制软件! 更新1点击(自制/核心)。 公式没有改变。
警告:sqlite-3.17.0已经安装,它只是没有链接。
我试图链接它,
$ brew link sqlite警告:sqlite是桶只有,并且必须与–force链接请注意,这样做可能会干扰构build软件。
那就用武力去做,
$ brew link –force sqlite链接/usr/local/Cellar/sqlite/3.17.0 …创build8个符号链接
这是我试过的,它的工作原理:
$ brew link --overwrite sdl Linking /usr/local/Cellar/sdl/1.2.15... Error: Could not symlink lib/pkgconfig/sdl.pc /usr/local/lib/pkgconfig is not writable.
查找pkgconfig
:(在chmod 750
)
drwxr-xr-x 4 root wheel 136B Mar 30 2013 pkgconfig
我试着如下所示:
$ sudo chown -R avkashchauhan:admin /usr/local/lib/pkgconfig
它应该如下所示:
drwxr-xr-x 4 avkashchauhan admin 136B Mar 30 2013 pkgconfig
我试过之后:
$ brew link sdl Linking /usr/local/Cellar/sdl/1.2.15... 182 symlinks created