mac 用brew升级node最新版本,npm出现问题问题解决

1 篇文章 0 订阅

NODE很久未更新(V4.xx),今天去查看官网已经是V9.xx的版本,所以想在我的mac机上进行更新,于是用Homebrew来进行升级,命令如下:

$ brew upgrade node

更新完成,执行命令查看版本:

$ node -v
v9.11.1

已经更新到最新版本,然后准备查看下npm是否已经更新的新版本,结果出现如下错误:

$ npm -v
internal/modules/cjs/loader.js:550
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.Module._load (internal/modules/cjs/loader.js:475:25)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)

啥情况,在网上大致查找原因就是说NPM的版本和当前NODE版本不一致才会这样,让我降低NODE版本,我觉得这个不靠谱,我猜想着降低版本是因为想让NPM和NODE保持一致,而更新NODE版本后NPM为啥不一致呢,是否是由于以前老版本冲突导致呢?于是做如下验证:

1. 首先删除当前NODE

brew uninstall node

2. 查看NODE和NPM还是是否存在(结果发现NPM果然存在)

$ cd /usr/local/lib/node_modules
$ ls
npm

3. 发现NPM存在,所以强制删除npm,然后重新执行安装node

$ sudo rm -rf /usr/local/lib/node_modules/npm
$ brew install node

验证,node和npm都能正常运行。

$ npm -v
5.6.0

结论:如果机器上NODE很久未升级,要更新最新版本,我觉得最稳妥的方式就是先全部删除node和npm,然后在重新安装,而不是直接update。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值