我已经卸载和安装了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

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


当前回答

首先,使用MacOS Catalina,不再允许更改/usr/local的所有权的基本方法。例如:

$ sudo chown -R "$USER":wheel /usr/local
Password:
chown: /usr/local: Operation not permitted
$ sudo chown -R "$USER" /usr/local
chown: /usr/local: Operation not permitted
$ sudo chown -R $(whoami) /usr/local
chown: /usr/local: Operation not permitted

因此,上面常用的答案不能使用。然而,其次,退一步说,如果主要考虑的是安装或升级Homebrew,而不是想要更改/usr/local本身的权限,那么更改/usr/local的权限可能会太过了(就像用大锤锤钉子一样)。它会影响您的整个机器和其他软件可能也在使用/usr/local。例如,我在/usr/local中有maven和mySQL相关的文件。

一个更精确的解决方案是按照Homebrew GitHub站点上给出的说明安装Homebrew,即

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

它将Homebrew安装在/usr/local中,而不改变/usr/local本身的所有权。相反,Cellar、Caskroom、Frameworks、Homebrew等都安装在/usr/local目录下。在我看来,这似乎是一个更优雅、更精确的解决方案。

其他回答

在MacOS Mojave上,我也没有权限删除/usr/local文件夹(sudo chown -R "$USER":admin /usr/local)。

sudo chown -R "$USER":admin /usr/local/*确实为我工作,但是,改变本地文件夹中的所有权限。

希望这能帮助其他有同样问题的人。

卸载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

我可以通过在文件夹上使用chown解决这个问题:

sudo chown -R "$USER":admin /usr/local

此外,你(很可能)必须在/Library/Caches/Homebrew上做同样的事情:

sudo chown -R "$USER":admin /Library/Caches/Homebrew

显然,我之前用sudo改变了我在/usr/local上的文件夹权限, 从这里开始,所有带有brew的安装都被证明是成功的。

这个答案来自gitHub的自制问题跟踪器

我尝试了这页上的所有方法,最终使用了这个解决方案:

酿造卸载-强制酿造桶;取消$tap_name;酿造更新;啤酒清理;酿造桶清理;

我的情况与OP类似,但是我的问题是由使用酿造桶运行sudo引起的,然后让我的密码不正确。在此之后,我被阻止安装的权限所困扰。

对我来说,它在那之后起作用了

酿造的医生

更改权限命令导致另一个错误

chown: /usr/local:不允许操作