mac安装了好几次node,但关机再开机就经常失效。有用安装包安装,也用homebrew安装过,最后导致管理混乱。今天开机发现 node -v又不好用了。决定彻底解决一下。
首先,尝试brew install node。
brew install node
homebrew警告node已安装
尝试 brew link node 提示错误:
brew link node
强制 link
brew link --overwrite node
发现没有/usr/local/的读写权限 chown 命令获取权限
sudo chown -R $(whoami):admin /usr/local
命令失效了,更换新命令:
sudo chown -R $(whoami) $(brew --prefix)/*
重新尝试 brew linke node,又报错误:
删掉,都删掉!!!!!
rm '/usr/local/include/node/common.gypi'
brew link --overwrite --dry-run node(此处错误❌并未强制link)
在删除了一大堆文件后查看node版本:(实际上只是列出删除的文件,未执行link)
brew link node还是不好用。。。。
再次强制 link node
brew link --overwrite node
好用了!!!😭😭😭
但是npm还是没有。😭😭😭
安装npm:
brew install npm
提示警告⚠️:
根据提示尝试重新安装node:
brew reinstall node
终于成功了🎉🎉🎉
总结:
如果homebrew提示已安装node,但是brew link node报出/user/local/node/common.gypi文件symlink失败,尝试删除相应文件。
若没有读写权限,无法删除文件则使用chown命令获取本地文件夹读写权限:
sudo chown -R $(whoami):admin /usr/local
重点:若为新版本mac系统 则使用以下命令
sudo chown -R $(whoami) $(brew --prefix)/*
然后再使用强制 link
brew link --overwrite node
否则还是会产生Could not symlink include/node/common.gypi错误❌❌❌
homebrew安装完node有可能npm还是不好用,根据提示重安装node:
brew reinstall node
然后,npm就好用了。🍺
从最后一步看,可能直接运行brew reinstall node就行了,但是没有试验,以后再做考证,希望下回开机一切环境正常。不知道是否有其他问题,升级新版mac系统后总是有权限上的问题,不知道有没有一劳永逸的办法。
补充:
执行 brew link --overwrite node
会强制链接并覆盖所有冲突文件
执行 brew link --overwrite --dry-run node
只是会列出所有将被删除的文件
所以我之前执行 brew link --overwrite --dry-run node 只是列出了删除的文件,真正覆盖安装需要执行brew link --overwrite node
common.gypi是什么:www.xuebuyuan.com/2099911.htm…
所以可能是之前安装过程中断了导致node安装失效,并且文件不全。