酿酒医生说:
警告:/usr/local/include不可写。如果你的“sudo make install”软件不是由Homebrew管理的,就会发生这种情况。 如果酿造程序试图将头文件写入此目录,则安装 将在链接步骤期间失败。 你应该chown /usr/local/include
我尝试了不同的命令来解决这个问题,但我仍然被困在这里。
我在10.8.2运行自制程序
酿酒医生说:
警告:/usr/local/include不可写。如果你的“sudo make install”软件不是由Homebrew管理的,就会发生这种情况。 如果酿造程序试图将头文件写入此目录,则安装 将在链接步骤期间失败。 你应该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
在我的组织中,当我们的所有用户都绑定到活动目录后(有效地将UID从50x更改为######),就发生过这种情况。
现在只是简单地将x拥有的所有文件的所有权更改为y。
其中501是我的旧数字用户id,它仍然与所有自制文件相关联。
旧的用户id可以使用ll /usr/local/Cellar找到
现在更新所有权 sudo find /usr/local -user 501 -exec chown -h $USER {} \;
这样我们就避免了更改不受homebrew控制或属于其他系统用户的文件的所有权。
你可以在.bash_profile中使用别名来修复这个问题,并在每次遇到这个问题时运行它:
在文件的末尾~/。bash_profile、添加:
alias fix_brew='sudo chown -R $USER /usr/local/'
现在在你的终端中,你可以运行:
$ fix_brew
为我工作
$ sudo chown -R $(whoami):admin /usr/local
$ cd /usr/local/Library && git stash && git clean -d -f
对一些人来说是:
sudo chown -R JonJames:admin /usr/local/lib
“lib”的用法与“bin”或“include”或“whatever else”相反
Homebrew警告“应该”解释什么具体是不可写的,然后给你一个命令语法遵循,但是你需要使用“:”,而不是警告中提到的实际上是不正确的语法??
这在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
你需要控制整个/usr/local你需要在/usr/local下做一个递归chown
sudo chown -R YOUR_USERNAME:admin /usr/local/
对于High Sierra:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后,试试你的酿造指令。
问题# 3285
我的电脑上有一个以上的用户。
使用终端:
运行酿酒医生 看到多个/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
如果你在High Sierra遇到这个问题,按照下面的步骤(注意:/usr/local不能在High Sierra被咀嚼):
sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*
然后尝试使用brew link链接。我也遇到过类似的问题,但上述解决方案都不适用于High Sierra。希望这能帮助到一些人。
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检查
这在Mojave很管用。
我只是想重复sam9046的谦虚评论,作为一个替代的、可能更简单的解决方案,它适用于我的情况:卸载并重新安装homebrew。不需要sudo命令。
如果您需要确保它不会影响之前安装的包,您还可以从上面的链接浏览/修改卸载脚本。在我的情况下,这只是我的家用机器,所以我只是重新开始。
首先你需要创建一个目录:
sudo mkdir /usr/local/include
第二:
sudo chown -R $(whoami) $(brew --prefix)/*