在安装tig时,HomeBrew在安装依赖项时显示以下问题:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/a2x
/usr/local/bin is not writable.

You can try again using:
  brew link asciidoc

当前回答

如果你打开finder中的文件夹,右键单击并选择“获取信息”,你可以进入文件夹的“共享和权限”部分,并允许“所有人”“读写”

这就是我所做的使符号链接传递此错误。此外,brew似乎也重置了文件夹上的权限,就好像你没有改变任何东西一样

其他回答

根据Alex的回答,我能够解决这个问题;似乎这是一个问题,不特定于软件包正在安装,但自制文件夹的权限。

sudo chown -R `whoami`:admin /usr/local/bin

对于某些包,你可能还需要对/usr/local/share或/usr/local/opt执行这个操作:

sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/opt

我发现以下与Sophos反病毒用户相关:

https://stackoverflow.com/a/32981184

https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029

简而言之,Sophos正在更改某些/usr/local目录的权限。Sophos已经对此进行了修补,该修复包含在9.4.1版本中。

对于那些在运行Mac OS High Sierra时遇到这个问题的人(在这篇文章发表4年后),这里概述的步骤为我解决了这个问题。基本上只是概述卸载和重新安装brew。

https://medium.com/@mrkdsgn/brew-error-on-macos-high-sierra-check-you-have-permission-to-write-to-usr-local-e8bd1c6a22d4

运行这些步骤后,brew link工作得非常好!

对于那些正在寻找/usr/local/sbin不可写错误:

更新:它可以是/usr/local/someOtherFolderName,例如/usr/local/include。你只需要创建一个文件夹:

sudo mkdir someOtherFolderName

首先创建sbin文件夹,注意这需要sudo权限

cd /usr/local Sudo mkdir sbin sudo chown -R $(whoami) $(brew -prefix)/* 酿造链接你的packagename

这是因为当前用户不允许在该路径中写入。因此,要更改r/w(读/写)权限,您可以使用1。Terminal,或者2。图形化“获取信息”窗口。

1. 使用终端

谷歌如何从终端使用chmod/chown(改变模式/改变所有者)命令

2. 使用图形化的“获取信息”

你可以右键单击你想要更改权限的文件夹/文件,然后打开获取信息,它会显示一个如下所示的窗口,在底部你可以轻松地更改r/w权限:

如果可能的话,请在临时工作结束后将权限更改为“只读”