Brew doctor says: “Warning: /usr/local/include isn't writable.”
布鲁医生说:
Warning: /usr/local/include isn't writable. This can happen if you"sudo make install" software that isn't managed by Homebrew.
If a brew tries to write a header file to this directory, the install
will fail during the link step.You should probably
chown /usr/local/include
我尝试过不同的命令来解决这个问题,但我仍然坚持到这里。
我在10.8.2上运行自制软件
掌控它及其中的一切。
Mac OS High Sierra或更新:(在下面的评论中给Kirk)
1 | $ sudo chown -R $(whoami) $(brew --prefix)/* |
以前版本的macos:
1 | $ sudo chown -R $USER:admin /usr/local/include |
然后做另一个
1 | $ brew doctor |
对我有用的也是
1 2 | sudo chmod g+w /usr/local sudo chgrp staff /usr/local |
对我有用的是
1 | $ sudo chown -R yourname:admin /usr/local/bin |
在El Capitan为我工作的唯一一个是:
1 | sudo chown -R $(whoami) /usr/local |
如果您在High Sierra遇到此问题,请按照以下步骤操作(注意:/ usr / local不能在High Sierra中显示):
1 2 | sudo mkdir /usr/local/include sudo chown -R $(whoami) $(brew --prefix)/* |
然后尝试使用brew链接进行链接。我遇到了类似的问题,上面没有一个解决方案适用于High Sierra。希望这有助于某人。
对于High Sierra:
1 | /usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
然后,尝试brew命令。
问题#3285
这对我在macOS 10.12上工作
我有问题更新自制软件时出现以下错误:
1 2 3 | /usr/local is not writable. You should change the ownership and permissions of /usr/local back to your user account: sudo chown -R $(whoami) /usr/local |
您可以使用命令别名来修复
在文件
1 | alias fix_brew='sudo chown -R $USER /usr/local/' |
现在在您的终端内,您可以运行:
1 | $ fix_brew |
对于一些人来说,它将是:
1 | sudo chown -R JonJames:admin /usr/local/lib |
其中使用"lib"而不是"bin"或"include"或"其他"
自制警告"应该"解释具体不可写的内容然后给你一个命令语法,但是你需要使用":"而不是警告提到哪些实际上是不正确的语法?
为我工作
1 2 3 | $ sudo chown -R $(whoami):admin /usr/local $ cd /usr/local/Library && git stash && git clean -d -f |
MacOS 10.13上的错误相同
未创建
什么工作对我来说,虽然我的计算机上有超过1个用户。
使用终端:
-
运行
brew doctor -
看到多个
/usr/local/... 是不可写的错误
-
看到多个
- 禁用Mac的系统完整性保护:https://apple.stackexchange.com/a/208481/55628
- 运行以下
-
sudo chown -R $(whoami) /usr/local/* -
brew doctor && brew upgrade && brew doctor
Running Macbook Pro OSX High Sierra (version 10.13.3.)
编辑1:
FYI - Please be Advised this causes an issue with running MySQL on your MAC.
To be able to start my local server, I had to run:
1 | sudo chown -R mysql:mysql /usr/local/mysql/data |
运行此命令后,您可以启动本地MySQL服务器。
如果它们不存在,您需要创建/ usr / local / include和/ usr / local / lib:
1 2 | $ sudo mkdir -p /usr/local/include $ sudo chown -R $USER:admin /usr/local/include |
首先,您需要创建目录:
1 | sudo mkdir /usr/local/include |
第二:
1 | sudo chown -R $(whoami) $(brew --prefix)/* |
1 2 3 | sudo mkdir -p /usr/local/include /usr/local/lib /usr/local/sbin sudo chown -R $(whoami) /usr/local/include /usr/local/lib /usr/local/sbin |
这将创建所有必需的目录并为其提供正确的所有权。
运行这些命令后,请检查:
这适用于莫哈韦。
你需要控制整个
进入/ bin目录并输入:
chown -R $(whoami):admin / usr / local / bin
在我的所有用户绑定到活动目录(有效地将UID从50x更改为######)后,我在组织中发生了这种情况。
现在只是将x所拥有的所有文件的所有权更改为y的情况。
其中501是我的旧数字用户ID,仍然与所有自制文件相关联。
可以使用
现在更新所有权
这样我们就可以避免更改不受自制程序控制或属于某些其他系统用户的文件的所有权。
我只想回应sam9046的适度评论作为替代方案,并且可能更简单的解决方案适用于我的情况:从头开始卸载并再次安装自制软件。不需要sudo命令。
如果您需要确保它不会影响以前安装的软件包,您也可以从上面的链接浏览/修改卸载脚本。在我的情况下,这只是我的家用机器,所以我刚开始。