Brew医生说:"警告:/ usr/local/include不可写."

gag*_*ina 345 macos homebrew

布鲁医生说:

警告:/ usr/local/include不可写.如果您使用不受Homebrew管理的"sudo make install"软件,就会发生这种情况.

如果brew尝试将头文件写入此目录,则安装将在链接步骤中失败.

你应该chown/ usr/local/include

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

我在10.8.2上运行自制软件

jrw*_*ren 649

掌控它及其中的一切.

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

$ sudo chown -R $(whoami) $(brew --prefix)/*
Run Code Online (Sandbox Code Playgroud)

以前版本的macos:

$ sudo chown -R $USER:admin /usr/local/include
Run Code Online (Sandbox Code Playgroud)

然后做另一个

$ brew doctor
Run Code Online (Sandbox Code Playgroud)

  • 有没有什么优势而不是`$ sudo chown -R \`whoami \`/ usr/local /`? (67认同)
  • 根据[Homebrew](https://github.com/Homebrew/brew/issues/3228)在Mac OS High Sierra chown`/usr/local`中不再有效.而是使用`sudo chown -R $(whoami)$(brew --prefix)/*` (13认同)
  • 操作不被允许? (11认同)
  • 我想知道是否将/ usr/local的所有权更改为一个干净的解决方案.将$ USER添加到'wheel'组不是更好吗?或者将/ usr/local组更改为admin组? (7认同)
  • @WillemLabu少一个进程分叉?whoami是有效的用户ID,并且man页面说已经过时了:) bash是OSX上的默认shell,某个地方USER正在设置. (2认同)

Dur*_*nat 113

对我有用的也是

sudo chmod g+w /usr/local
sudo chgrp staff /usr/local
Run Code Online (Sandbox Code Playgroud)

  • 这是唯一理智的解决方案,在多用户操作系统中获得/ usr/local的所有权并不是真正的理解 (20认同)
  • 好吧,不是在High Sierra."无法在/ usr/local上更改文件模式:不允许操作" (5认同)
  • 需要得到这个家伙一些票!;)这很有效. (3认同)
  • 所有其他提示都失败了,这个对我有用. (2认同)
  • 恕我直言,这是更好的解决方案 (2认同)

Ana*_*bel 38

对我有用的是

$ sudo chown -R yourname:admin /usr/local/bin
Run Code Online (Sandbox Code Playgroud)


Hus*_*sky 37

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

sudo chown -R $(whoami) /usr/local
Run Code Online (Sandbox Code Playgroud)

  • chown:/ usr/local:不允许操作 (5认同)

Pro*_*Pro 23

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

sudo mkdir /usr/local/include
sudo chown -R $(whoami) $(brew --prefix)/*
Run Code Online (Sandbox Code Playgroud)

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


Mah*_*ahi 19

对于High Sierra:

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

然后,尝试brew命令.

问题#3285

  • 如果您以前已经安装了brew并将其升级到High Sierra,则不知道为什么要降低它的价格,重新安装Homebrew可以解决此问题。这是最简单的方法 (2认同)

kar*_*gen 12

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

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

alias fix_brew='sudo chown -R $USER /usr/local/'
Run Code Online (Sandbox Code Playgroud)

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

$ fix_brew
Run Code Online (Sandbox Code Playgroud)


小智 12

这对我在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
Run Code Online (Sandbox Code Playgroud)


小智 10

首先您需要创建目录:

sudo mkdir /usr/local/include
Run Code Online (Sandbox Code Playgroud)

第二:

sudo chown -R $(whoami) $(brew --prefix)/*
Run Code Online (Sandbox Code Playgroud)


Jon*_*mes 8

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

sudo chown -R JonJames:admin /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

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

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


Ale*_*das 7

为我工作

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

$ cd /usr/local/Library && git stash && git clean -d -f
Run Code Online (Sandbox Code Playgroud)


小智 5

MacOS 10.13上的错误相同

/usr/local/include/usr/local/ /usr/lib没有创建.我手动创建并brew link最终工作.