我正在尝试通过自制程序升级我的节点,但遇到了问题,我遇到了以下错误
Warning: The post-install step did not complete successfully
我也尝试过brew链接节点,但这也不起作用。
这个原始问题有十多年前问题的注释和错误日志。现在提出这个问题的人只是在寻找“警告:安装后步骤未成功完成”的解决方案,并且有很多解决方案,因此删除过时的详细信息。
涉及两个步骤。
sudo chown -R `whoami`:admin /usr/local/include/node
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/lib/dtrace
brew link --overwrite node
我在相同的情况下遇到了同样的问题。我能够通过以下方式成功安装brew版本:
brew install node
/usr/local/include/node
brew uninstall node
brew install node
我必须对每个剩余的有问题的目录(实际上大约有 3 个不同的目录)重复此过程几次,最终安装成功,没有任何问题。
我在运行 Mac OS High Sierra 的新 MacBook Pro 上遇到了这个问题。我发现brew 试图使用/usr/local 下不存在的名为include 和lib 的目录。由于 root 拥有 /usr 我必须手动执行此操作 - 确保
whoami
所有者与 /usr/local 中的对等目录匹配:
sudo mkdir /usr/local/include
chown `whoami`:admin /usr/local/include
sudo mkdir /usr/local/lib
chown `whoami`:admin /usr/local/lib
然后为了匹配 /usr/local 中的其他目录,我做了:
chmod 775 /usr/local/include
chmod 775 /usr/local/lib
然后执行以下操作:
brew uninstall node
brew install node
您需要使
/usr/local/bin
和 /usr/local/share
可写。我使用 this 答案来实现这一目标。以下是复制答案中的关键建议,以防链接中断:
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
我有同样的错误:
Linking /usr/local/Cellar/node/11.10.0...
Error: Could not symlink include/node /usr/local/include is not writable.
解决方案:
$ sudo mkdir /usr/local/include
$ sudo chown -R $(whoami) $(brew --prefix)/*
$ brew link node
链接 /usr/local/Cellar/node/11.10.0... 创建了 7 个符号链接
$ node -v
=> v11.10.0
$ npm -v
=> 6.7.0
brew postinstall node
或 brew link --overwrite node
似乎没有帮助。
经过几轮
brew uninstall node
和brew install node
之后,以下是有问题的目录和文件:
sudo rm -r /usr/local/include/node
sudo rm -r /usr/local/share/doc/node
sudo rm -r /usr/local/lib/node_modules
sudo rm /usr/local/lib/dtrace/node.d
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/share/systemtap/tapset/node.stp
删除有问题的文件后,
brew
将为您进行所有正确的权限链接。
由于过去使用
root:wheel
安装或手动安装等原因,可能的权限设置为 sudo
。
对于那些在 MacOS 上运行高 Sierra 的人:
我尝试使用
chown
命令授予权限并卸载然后通过自制软件重新安装节点,但没有任何效果。
我刚刚访问此网站 https://nodejs.org/en/download/ 并下载了 64 位 macOS .pkg,它运行良好。我通过在终端中输入命令
node
来测试它。
我在链接方面遇到了非常类似的问题。我无法让它发挥作用。我尝试 chmod /usr/local/include/node 这样我就可以写入它的链接,但遇到了另一个错误。作为最终的解决方案,我刚刚从 https://nodejs.org/download/
重新安装了节点我又有工作节点提示了!我很想通过brew 来更新,但是仅仅使用站点上的pkg 安装程序就省去了很多麻烦。我知道这可能不是您正在寻找的解决方案,但我只是想分享我对同一问题的经验。我希望它有帮助!
brew link --overwrite node
错误:无法符号链接(...)
/usr/xxx
sudo chown -R 'whoami?':admin xxx
brew link --overwrite node
冲洗并重复
对我来说,我必须运行brew doctor,这表明我没有写访问权限,必须运行
sudo chown -R $(whoami) /usr/local/bin /usr/local/share /usr/local/share/man
来解决问题。
我建议运行
brew doctor
看看它是否可以提供有关该问题的一些提示
手动删除错误文件夹或文件并运行此命令
brew uninstall node && brew install node
您必须执行此过程,直到删除所有错误文件夹和文件。
然后节点将被链接。
如果您尝试
brew link node
,并且它会显示以下内容:
错误:无法符号链接 include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h 目标 /usr/local/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h 已经存在。您可能想删除它:
试试这个:
brew link --overwrite --dry-run node | xargs rm
brew link node