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

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。

猜你喜欢

转载自blog.csdn.net/bz151531223/article/details/80081565
今日推荐