酿酒医生说:

警告:/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

对我有用的是

$ sudo chown -R yourname:admin /usr/local/bin

在我的组织中,当我们的所有用户都绑定到活动目录后(有效地将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 chmod g+w /usr/local
sudo chgrp staff /usr/local

对一些人来说是:

sudo chown -R JonJames:admin /usr/local/lib

“lib”的用法与“bin”或“include”或“whatever else”相反

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


在酋长岩上唯一对我有效的是:

sudo chown -R $(whoami) /usr/local

这在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/


在MacOS 10.13上也有同样的错误

未创建/usr/local/include和/usr/local/ /usr/lib。我手动创建和酿造链接终于工作。


对于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。希望这能帮助到一些人。


进入/bin目录,输入:

chown -R $(whoami):admin /usr/local/bin


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)/*