我在 OS X Mavericks 下运行 Homebrew 0.9.5。我的最终目标是编译依赖于 的程序(无法通过 Homebrew 获得)的源代码pkg-config
。安装 Homebrew 后,我运行brew install pkg-config
,出现“brew 链接错误”,然后运行brew link --overwrite pkg-config
。这给了我一个不同的错误:Error: Could not symlink share/doc/pkg-config/pkg-config-guide.html /usr/local/share/doc/pkg-config is not writable.
我似乎无法绕过这个错误。运行sudo chmod 666 /usr/local/share/doc/pkg-config
不会更改 的文件权限-rw-r--r--
。同样,我在这个网站上遇到了一个类似的问题,通过执行sudo chown -R $(whoami) /usr/local
; 解决了这个问题,但这在我的情况下也不起作用。为什么我无法为此文件添加写权限?
更多细节
pkg-config
我原本以为自己编译没什么大不了的,但是当我尝试这样做时,我发现自己陷入了依赖关系的迷宫中:pkg-config
需要(并且需要)glib
,它需要gettext
和libffi
。当我尝试编译时gettext
,我能够运行make
,make install
但在此过程中出现了几个错误和“...未找到”消息。尽管如此,它似乎安装正确。获得gettext
并libffi
安装后,我尝试执行./configure glib
并出现与 相关的错误gettext
。那时我放弃了并安装了 homebrew。安装后,我收到消息建议我删除一些文件,然后照做了。我还得到了这个:Warning: Some directories in /usr/local/share/locale aren't writable. ... You should probably
chown them
。我也这么做了。然后我尝试安装pkg-config
并遇到了上面描述的问题。
答案1
根据错误消息,存在权限问题的目录是/usr/local/share/doc/pkg-config
,但您声称已运行,sudo chown -R $(whoami) /usr/local
这只会更改目录的所有权/usr/local
,而不会影响任何子目录。您应该运行
sudo chown -R $(whoami) /usr/local/share/doc/pkg-config
看看结果如何。如果没有帮助,请将输出添加ls -l /usr/local/share/doc/pkg-config
到您的帖子中,以清楚说明发生了什么。
附注:子目录/usr
归 root 所有,普通用户无法写入,这很正常。与其更改权限/所有权,不如以 root 身份运行这些目录中的命令,例如
sudo brew install pkg-config
答案2
可能你之前安装过 pkg-config。你可以卸载并重新安装。
brew 卸载 pkg-config