酿酒医生说:

警告:/usr/local/include不可写。如果你的“sudo make install”软件不是由Homebrew管理的,就会发生这种情况。 如果酿造程序试图将头文件写入此目录,则安装 将在链接步骤期间失败。 你应该chown /usr/local/include

我尝试了不同的命令来解决这个问题,但我仍然被困在这里。

我在10.8.2运行自制程序


当前回答

如果/usr/local/include和/usr/local/lib不存在,你需要创建:

$ sudo mkdir -p /usr/local/include
$ sudo chown -R $USER:admin /usr/local/include

其他回答

在我的组织中,当我们的所有用户都绑定到活动目录后(有效地将UID从50x更改为######),就发生过这种情况。

现在只是简单地将x拥有的所有文件的所有权更改为y。

其中501是我的旧数字用户id,它仍然与所有自制文件相关联。

旧的用户id可以使用ll /usr/local/Cellar找到

现在更新所有权 sudo find /usr/local -user 501 -exec chown -h $USER {} \;

这样我们就避免了更改不受homebrew控制或属于其他系统用户的文件的所有权。

对于High Sierra:

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

然后,试试你的酿造指令。

问题# 3285

我只是想重复sam9046的谦虚评论,作为一个替代的、可能更简单的解决方案,它适用于我的情况:卸载并重新安装homebrew。不需要sudo命令。

如果您需要确保它不会影响之前安装的包,您还可以从上面的链接浏览/修改卸载脚本。在我的情况下,这只是我的家用机器,所以我只是重新开始。

如果你在High Sierra遇到这个问题,按照下面的步骤(注意:/usr/local不能在High Sierra被咀嚼):

sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*

然后尝试使用brew link链接。我也遇到过类似的问题,但上述解决方案都不适用于High Sierra。希望这能帮助到一些人。

你需要控制整个/usr/local你需要在/usr/local下做一个递归chown

sudo chown -R YOUR_USERNAME:admin /usr/local/