我已经卸载和安装了3次Homebrew,因为它似乎永远不允许我安装任何东西,因为它在大多数安装结束时拒绝我的权限。

作为一个例子,我将发布我目前面临的libjpeg下载场景。

我尝试安装libjpeg并获得:

$ brew install libjpeg
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/jpeg-8d.mountain_lion.bottle.1.tar.gz
Already downloaded: /Library/Caches/Homebrew/jpeg-8d.mountain_lion.bottle.1.tar.gz
==> Pouring jpeg-8d.mountain_lion.bottle.1.tar.gz
Warning: Could not link jpeg. Unlinking...
Error: The brew link step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link jpeg'
Error: Permission denied - /usr/local/opt/jpeg

'brew link jpeg'的结果

Error: Permission denied - /usr/local/opt/jpeg

这是我的酿酒医生读的

$ brew doctor
Warning: "config" scripts exist outside your system or Homebrew directories.
./configure scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run brew link on these:

jpeg

这个许可问题已经使它不可能使用酿造任何东西,我真的很感激任何建议。


当前回答

所有这些建议都可能奏效。在最新版本的brew doctor中,有了更好的建议。

首先-通过在命令行中运行这个命令来修复你可能已经造成的/usr/local混乱:

sudo chown -R root:wheel /usr/local

然后获取路径的所有权,应该专门为这个用户:

sudo chown -R $(whoami) /usr/local/lib /usr/local/sbin /usr/local/var /usr/local/Frameworks /usr/local/lib/pkgconfig /usr/local/share/locale

所有这些信息都是可用的,如果你运行sudo brew update,然后阅读所有的警告和错误,你会遇到…

其他回答

其实很简单,执行这个命令: 酿造的医生

它会告诉你该怎么做,来修复权限问题,比如我的例子:

这就是问题所在:

Warning: The following directories are not writable by your user:
/usr/local/share/man/man5
/usr/local/share/man/man7

这就是解决方案:

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /usr/local/share/man/man5 /usr/local/share/man/man7

卸载brew并使用以下命令重新安装,以确保到brew github的链接和本地文件夹的相关权限正常工作:

ruby / usr / bin / e,“美元(卷毛-fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

这很有效。我自己没有权限,只是重新安装了Homebrew,它可以工作!

来源:https://gist.github.com/irazasyed/7732946 # gistcomment - 2298740

如果你的mac上碰巧有多个帐户,那么很可能你当前的帐户属于不同的用户组,而最初拥有/usr/local的主要帐户意味着上述解决方案都不起作用。

您可以通过尝试ls -la /usr/local来检查,并查看哪些用户和组有权限对该目录进行写操作。 在我的情况下,它是根轮。它可能是根管理员。

我通过使用以下命令将当前用户添加到主帐户的组来解决这个问题。

sudo dseditgroup -o edit -a $(whoami) -t user admin
sudo dseditgroup -o edit -a $(whoami) -t user wheel

在那之后,它就像魔法一样有效。希望它能帮助到一些人。

如果您没有最新的Homebrew:我在过去通过强制Homebrew以根用户身份运行来“修复”这个问题,这只能通过将Homebrew可执行文件的所有权更改为根用户来实现。在某种程度上,他们删除了这个功能。

我知道他们会给出很多警告,说它不应该以根目录运行,但算了吧,否则它就不能正常工作。

所有这些建议都可能奏效。在最新版本的brew doctor中,有了更好的建议。

首先-通过在命令行中运行这个命令来修复你可能已经造成的/usr/local混乱:

sudo chown -R root:wheel /usr/local

然后获取路径的所有权,应该专门为这个用户:

sudo chown -R $(whoami) /usr/local/lib /usr/local/sbin /usr/local/var /usr/local/Frameworks /usr/local/lib/pkgconfig /usr/local/share/locale

所有这些信息都是可用的,如果你运行sudo brew update,然后阅读所有的警告和错误,你会遇到…