关于macos:Brew医生说:“警告:/ usr / local / include不可写。”

Brew doctor says: “Warning: /usr/local/include isn't writable.”

布鲁医生说:

Warning: /usr/local/include isn't writable. This can happen if you"sudo make install" software that isn't managed by Homebrew.

If a brew tries to write a header file to this directory, the install
will fail during the link step.

You should probably chown /usr/local/include

我尝试过不同的命令来解决这个问题,但我仍然坚持到这里。

我在10.8.2上运行自制软件


掌控它及其中的一切。

Mac OS High Sierra或更新:(在下面的评论中给Kirk)

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

以前版本的macos:

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

然后做另一个

1
$ brew doctor


对我有用的也是

1
2
sudo chmod g+w /usr/local
sudo chgrp staff /usr/local


对我有用的是

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

在El Capitan为我工作的唯一一个是:

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


如果您在High Sierra遇到此问题,请按照以下步骤操作(注意:/ usr / local不能在High Sierra中显示):

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

然后尝试使用brew链接进行链接。我遇到了类似的问题,上面没有一个解决方案适用于High Sierra。希望这有助于某人。


对于High Sierra:

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

然后,尝试brew命令。

问题#3285


这对我在macOS 10.12上工作

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

我有问题更新自制软件时出现以下错误:

1
2
3
/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

您可以使用命令别名来修复.bash_profile中的此问题,并在每次遇到它时运行它:

在文件~/.bash_profile的末尾,添加:

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

现在在您的终端内,您可以运行:

1
$ fix_brew

对于一些人来说,它将是:

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

其中使用"lib"而不是"bin"或"include"或"其他"

自制警告"应该"解释具体不可写的内容然后给你一个命令语法,但是你需要使用":"而不是警告提到哪些实际上是不正确的语法?


为我工作

1
2
3
$ sudo chown -R $(whoami):admin /usr/local

$ cd /usr/local/Library && git stash && git clean -d -f

MacOS 10.13上的错误相同

未创建/usr/local/include/usr/local/ /usr/lib。我手动创建了brew link终于工作了。


什么工作对我来说,虽然我的计算机上有超过1个用户。

使用终端:

  • 运行brew doctor

    • 看到多个/usr/local/...是不可写的错误
  • 禁用Mac的系统完整性保护:https://apple.stackexchange.com/a/208481/55628
  • 运行以下
  • sudo chown -R $(whoami) /usr/local/*
  • brew doctor && brew upgrade && brew doctor

Running Macbook Pro OSX High Sierra (version 10.13.3.)

编辑1:

FYI - Please be Advised this causes an issue with running MySQL on your MAC.

To be able to start my local server, I had to run:

1
sudo chown -R mysql:mysql /usr/local/mysql/data

运行此命令后,您可以启动本地MySQL服务器。


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

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

首先,您需要创建目录:

1
sudo mkdir /usr/local/include

第二:

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

1
2
3
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/


进入/ bin目录并输入:

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


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

现在只是将x所拥有的所有文件的所有权更改为y的情况。

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

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

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

这样我们就可以避免更改不受自制程序控制或属于某些其他系统用户的文件的所有权。


我只想回应sam9046的适度评论作为替代方案,并且可能更简单的解决方案适用于我的情况:从头开始卸载并再次安装自制软件。不需要sudo命令。

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