酿造错误:无法符号链接,路径不可写


71

当我尝试使用自制软件brew install aLibrary)安装库时,出现以下错误:

Could not symlink lib/pkgconfig/aFile
/usr/local/lib/pkgconfig is not writable.

我该怎么办?

有几个问题及答案(12对本酿造错误,等等),这是企图使一个一般性的问题的建议在这里

Answers:


163

正如解释这里里克

首先brew doctor,它将显示您的冲煮设置错误。

您可能会看到类似这样的信息:“警告:/ usr / local / lib / pkgconfig不可写。”

它将为您提供以下建议:“您可能应该对/ usr / local / lib / pkgconfig进行chown”。

这表示: sudo chown -R $(whoami) /usr/local/lib/pkgconfig

然后,您将需要使用以下方式链接文件: brew link yourLibrary

如果希望这样做不起作用,则的输出brew doctor将为您提供足够的资源来继续搜索。


25
sudo chown -R $(whoami) /usr/local/lib/pkgconfig似乎是一个很好的复制粘贴答案。

我有2个需要执行此操作的文件夹。运行brew doctor然后从那里复制建议的命令甚至更好。
Andrei Tudor Diaconu '18

但是,为什么brew需要访问默认情况下没有的内容?该目录的目的是什么?为什么我要全力以赴以提供更多的Brew权限?
xdhmoore

11

巨型麋鹿有一个很好的建议,这就是我解决问题的方式,我认为这是最干净的。除非他们知道后果,否则用户不应更改权限。

  1. 将安装的软件包(通过brew)输出到文本文件:

    brew list > brewlist.txt
    
  2. 卸载brew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
    
  3. 重新安装brew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  4. 重新安装以前的软件包(如果不需要所有软件包,请编辑列表):

    brew install $(< brewlist.txt )
    

4

使用以下内容。

$ brew doctor

消息将显示指向修剪的错误链接。如果找到,请运行下一个选项。

$ brew prune

这些内容删除后,请继续将其链接到

$ brew link python


2

您只需在终端上运行此命令即可将权限授予您的帐户。

sudo chown -R $(whoami) (path)

在您的情况下: sudo chown -R $(whoami) lib/pkgconfig/aFile /usr/local/lib/pkgconfig

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.