在Mac OS X 10.13 High Sierra中无法将/ usr / local设为自制软件


118

自制软件需要/ usr / local中的权限,并且由于没有人使用我的笔记本电脑,所以我总是很简单

sudo chown -R $(whoami) $(brew --prefix)

但是在High Sierra,这给了

chown: /usr/local: Operation not permitted

解决方法是什么?


解决:sudo chown -R“ $ USER”:admin / usr / local / *
Marcelo Campusano

Answers:


218

问题不断发生……在深入研究之后,我发现只有卸载Homebrew然后重新安装它才能解决此问题。

卸载Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

然后重新安装它:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4
这是在“ High” Sierra升级后修复我的自制软件的唯一方法。我的错误是: gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/libsudo chown -R $(whoami) $(brew --prefix)/* 没有帮助...
gh4x

难以置信的。第一次失败,卸载脚本失败,第二次安装成功。
GreenAsJade

您可能想brew list先将的输出保存在文件中,以记录安装了哪些软件包。
吉尔斯·加丹

1
在我的系统上,其他各种Mojave自制软件修复都无法使用。卸载/重新安装效果很好。
pkamb

2
与Catalina一起工作
Gefilte Fish,

52

不幸的是,您不能再/usr/local在High Sierra中穿梭了。一种解决方法是sudo mkdir /usr/local/include/usr/local/Frameworks如果不存在,则

sudo chown -R $(whoami) $(brew --prefix)/*

感谢ilovezfs提供了这种简单的解决方法以及出色的自制软件!


9
还是行不通。$ brew update错误:/ usr / local目录不可写。
劳伦斯·科普

尝试卸载并重新安装Homebrew: stackoverflow.com/questions/46459152/…–
ruggershawn

正如我在其他地方评论的那样,卸载将删除您的所有brew软件包。
jaydel

$(brew --prefix)/usr/local/我认为应该评估为。
乔丹·斯图尔特


8

我遵循了此步骤,但问题仍然存在。
因此,我重新安装了自制软件,而没有卸载上一个。现在正在工作!
(我不知道怎么做)


3
我建议完全卸载Homebrew,然后重新安装。
k1r8r0wn

多个安装确实有效,直到卸载后我才能修复它。
cbowns

卸载将破坏一切。我已经安装了许多软件包,并且必须重新安装它们。可悲的是,所有这些以前都有效,因为我有那些软件包。
jaydel


3

尝试禁用系统完整性保护。从文档中:

可以使用csrutil(1)命令配置系统完整性保护。

您可以通过在终端中运行以下命令来检查系统上当前是否已启用系统完整性保护:

$ csrutil status
System Integrity Protection status: enabled.

要启用或禁用系统完整性保护,必须启动到Recovery OS并从终端运行csrutil(1)命令。

通过重新启动计算机并在启动时按住Command和R键来引导到Recovery OS。从实用程序菜单启动终端。输入以下命令: $ csrutil enable

在计算机上启用或禁用系统完整性保护后,需要重新启动。


虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
杰克·西蒙斯

3
这有点像从台锯上卸下防护罩。它可以工作,有时可能有必要,但是如果您不必这样做,它会更安全。无论如何,将自己设置为/ usr / local的所有者来进行自制程序工作似乎总是很容易。
加勒布

3
不鼓励这样做!除非用户不执行自己的操作,否则这非常危险。
阿布·舒蒙

@oligofren:D:D:D加油 放松,这不是一场英语word in context比赛。:D:D警告用户的标志。但是好吧,您然后为我准备了措辞:p:p
阿布·舒蒙

1

如果由于使用bash而使用zsh,则可能必须更改$ PATH。您应该添加export PATH=$HOME/bin:/usr/local/bin:$PATH .zshrc

那么它应该可以工作,通过这种方式在我的mac中解决了这个问题。


1

我也在10.13 High Sierra上。我尝试了以前的建议;没有任何效果。最终,我尝试首先安装命令行工具

xcode-select --install

然后(重新)运行brew install命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

终于奏效了


0

确保您没有在主文件夹或安装需要访问的任何文件夹上设置锁。

即使正确设置了权限和所有权,并且您当前使用的是正确的用户(或Root用户)登录,也无法创建新的文件夹或目录。


0

我没有/ user / local / Frameworks文件夹,所以这对我来说已经解决了

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/Frameworks

我有OSX High Sierra


0

这是考希克。我正在使用MacBook Pro macOS Catalina 10.15.4。我创建了一个新的管理员帐户,但brew抛出错误。因此,我遵循了这篇文章中的步骤。起作用的是:

须藤chown -R $ {whoami)$ {brew --prefix)/ *

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.