酿酒医生说:
警告:/usr/local/include 不可写。如果您“sudo make install”不是由 Homebrew 管理的软件,就会发生这种情况。如果 brew 尝试将头文件写入此目录,则安装将在链接步骤期间失败。您可能应该 chown /usr/local/include
我尝试了不同的命令来解决这个问题,但我仍然被困在这里。
我在 10.8.2 上运行自制软件
拥有它和其中的一切。
Mac OS High Sierra 或更新版本:(在下面的评论中对 Kirk 表示感谢)
$ sudo chown -R $(whoami) $(brew --prefix)/*
以前版本的macos:
$ sudo chown -R $USER:admin /usr/local/include
然后再做一个
$ brew doctor
对我有用的也是
sudo chmod g+w /usr/local
sudo chgrp staff /usr/local
对我有用的是
$ sudo chown -R yourname:admin /usr/local/bin
在 El Capitan 上唯一对我有用的是:
sudo chown -R $(whoami) /usr/local
如果您使用 High Sierra 并遇到此问题,请按照以下步骤操作(注意:/usr/local 不能在 High Sierra 中更改):
sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*
然后尝试使用 brew link 进行链接。我遇到了类似的问题,上面的解决方案都不适用于 High Sierra。希望这可以帮助某人。
对于高山脉:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后,尝试您的 brew 命令。
您可以在 .bash_profile
中为修复此问题的命令设置别名,并在每次遇到它时运行它:
在文件 ~/.bash_profile
的末尾,添加:
alias fix_brew='sudo chown -R $USER /usr/local/'
现在在您的终端内,您可以运行:
$ fix_brew
这在 macOS 10.12 上对我有用
sudo chown -R $(whoami) /usr/local
我在更新自制软件时遇到了以下错误:
/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
对于某些人来说,这将是:
sudo chown -R JonJames:admin /usr/local/lib
其中使用“lib”而不是“bin”或“include”或“其他”
Homebrew 警告“应该”解释什么具体是不可写的,然后给你一个命令语法来跟随,但是你需要使用“:”而不是警告提到的实际上是不正确的语法?
为我工作
$ sudo chown -R $(whoami):admin /usr/local
$ cd /usr/local/Library && git stash && git clean -d -f
首先,您需要创建目录:
sudo mkdir /usr/local/include
第二:
sudo chown -R $(whoami) $(brew --prefix)/*
MacOS 10.13 上的相同错误
/usr/local/include
和 /usr/local/
/usr/lib
未创建。我手动创建并brew link
终于工作了。
什么对我有用,而我的计算机上有超过 1 个用户。
使用终端:
运行 brew doctor 看到多个 /usr/local/... 是不可写的错误
看到多个 /usr/local/... 是不可写的错误
禁用 Mac 的系统完整性保护:https://apple.stackexchange.com/a/208481/55628
运行以下
sudo chown -R $(whoami) /usr/local/*
冲泡医生 && 冲泡升级 && 冲泡医生
运行 Macbook Pro OSX High Sierra(版本 10.13.3。)
编辑1:
仅供参考 - 请注意,这会导致在您的 MAC 上运行 MySQL 出现问题。为了能够启动我的本地服务器,我必须运行:
sudo chown -R mysql:mysql /usr/local/mysql/data
运行此命令后,您可以启动本地 MySQL 服务器。
如果 /usr/local/include 和 /usr/local/lib 不存在,则需要创建它们:
$ sudo mkdir -p /usr/local/include
$ sudo chown -R $USER:admin /usr/local/include
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
这将创建所有必需的目录并为其赋予正确的所有权。
运行这些命令后检查:brew doctor
这适用于莫哈韦沙漠。
您需要控制整个 /usr/local
才能做到这一点,您需要在 /usr/local
下执行递归 chown
sudo chown -R YOUR_USERNAME:admin /usr/local/
在我们的所有用户都绑定到活动目录(有效地将 UID 从 50x 更改为 ######)之后,我的组织中发生了这种情况。
现在只需将 x 拥有的所有文件的所有权更改为 y 即可。
其中 501 是我的旧数字用户 ID,它仍然与所有自制文件相关联。
可以使用 ll /usr/local/Cellar
找到旧用户 ID
现在更新所有权 sudo find /usr/local -user 501 -exec chown -h $USER {} \;
这样我们就可以避免更改不受自制软件控制或属于其他系统用户的文件的所有权。
进入 /bin 目录并输入:
chown -R $(whoami):admin /usr/local/bin
$ sudo chown -R `whoami` /usr/local/
有什么优势吗?/usr/local
不再起作用。改为使用sudo chown -R $(whoami) $(brew --prefix)/*