在安装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

当前回答

如果您已经在/usr/local中为正在安装的包创建了一个目录,您可以尝试删除这个目录。

在我的情况下,我之前安装了我试图安装的包,没有使用brew,然后卸载了它。之前的安装留下了一个目录/usr/local/<my_package>/。我删除了这个文件夹(sudo rm -rf /usr/local/<my_package>/),之后酿造链接步骤成功。

其他回答

我发现对于我的特定设置,以下命令是有效的

brew doctor

然后它告诉我我的错误在哪里,然后这个与上面的注释略有不同的命令。

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

在做brew链接节点时,我还遇到了以下问题:

Error: Could not symlink include/node/usr/local/include is not writable.

Linking /usr/local/Cellar/node/9.3.0... Error: Permission denied @ dir_s_mkdir - /usr/local/lib

要解决上述问题,只需转到/usr/local/并检查文件夹“include”和“lib”的可用性,如果这些文件夹不可用,只需手动创建它们。

然后再次运行brew install node

我发现以下与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版本中。

如果您已经在/usr/local中为正在安装的包创建了一个目录,您可以尝试删除这个目录。

在我的情况下,我之前安装了我试图安装的包,没有使用brew,然后卸载了它。之前的安装留下了一个目录/usr/local/<my_package>/。我删除了这个文件夹(sudo rm -rf /usr/local/<my_package>/),之后酿造链接步骤成功。

对于那些正在寻找/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