MAC Homebrew安装node npm错误提示总结

·  阅读 2318

        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安装失效,并且文件不全。

分类:
前端
标签:
分类:
前端
标签: