酿酒医生说:

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

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

我在10.8.2运行自制程序


当前回答

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很管用。

其他回答

你可以在.bash_profile中使用别名来修复这个问题,并在每次遇到这个问题时运行它:

在文件的末尾~/。bash_profile、添加:

alias fix_brew='sudo chown -R $USER /usr/local/'

现在在你的终端中,你可以运行:

$ fix_brew

拥有它和它里面的一切。

Mac OS High Sierra或更新版本:(请在下面的评论中回复Kirk)

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

macos以前的版本:

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

然后再做一次

$ brew doctor

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

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

为我工作

$ 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警告“应该”解释什么具体是不可写的,然后给你一个命令语法遵循,但是你需要使用“:”,而不是警告中提到的实际上是不正确的语法??