已安装,只是没有链接

时间:2015-04-02 20:58:17

标签: macos homebrew

注意:我不太擅长使用shell。

我尝试在Yosemite上使用Valgrind安装brew

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

发生了什么以及如何解决?

9 个答案:

答案 0 :(得分:98)

看起来像是权限问题。我会尝试这样做

chmod 755 /usr/local/lib/pkgconfig

这应该可以使用,然后尝试

brew link valgrind

如果这不起作用,我会尝试检查它

brew doctor

答案 1 :(得分:28)

首次运行

brew link <package>

如果出错,请尝试自动诊断

brew doctor

brew doctor列出了可能导致安装过程出错的问题列表。

要解决文件冲突时的问题, 运行以通过覆盖获取将执行的所有操作的列表,而不实际执行它们。

列出所有要删除的文件:

  brew link --overwrite --dry-run <package>

然后执行覆盖执行覆盖,假设您认为覆盖执行的操作会使您的系统处于更强稳定状态

强制链接并覆盖所有冲突的文件:

 brew link --overwrite <package>

答案 2 :(得分:12)

如果解决方案无效,请尝试此操作。

sudo chown -R $USER:admin /usr/local
brew link <package-name>

答案 3 :(得分:2)

就我而言,酿造医生做对了。在某些时候/ usr / local / lib / pkgconfig被设置为由 root 而不是我的帐户拥有。规定的补救措施有效 -

sudo chown -R $(whoami) /usr/local/lib/pkgconfig

答案 4 :(得分:2)

我有同样的问题,我解决了下一个解决方案: 从终端运行 brew doctor 以检查所有错误

然后运行下一个命令:

sudo chown -R $USER:admin /usr/local/bin /usr/local/etc /usr/local/sbin /usr/local/share
运行后

brew link <package_name>

答案 5 :(得分:1)

这是我尝试过的,它起作用了:

$ 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

我尝试chown如下:

$ 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

答案 6 :(得分:0)

我遇到了类似的问题,

$ brew install sqlite 更新Homebrew ... ==&GT;自动更新的Homebrew! 更新了1次点击(自制/核心)。 公式没有变化。

警告:已经安装了sqlite-3.17.0,它没有链接。

我试图链接它,

$ brew链接sqlite 警告:sqlite是keg-only,必须与--force链接 请注意,这样做会干扰构建软件。

然后强制执行,

$ brew链接--force sqlite 链接/usr/local/Cellar/sqlite/3.17.0 ...创建了8个符号链接

答案 7 :(得分:0)

关于权限,我也有同样的问题,但是在我授予权限后,仍然是错误权限。首先,我在这里做

brew unlink valgrind

然后

brew link valgrind

希望获得帮助。

答案 8 :(得分:0)

brew install cocoapods --build-from-source
brew link --overwrite cocoapods

升级到MAC OS Mojave 10.14.6后,唯一对我有用的命令