在某些情况下,npm会突然“抽筋”不能正常工作,比如我是在项目目录下安装webpack时没有先init,之后无论用npm进行何种操作,都会出现如下错误
其中最重要的一句话是Cannot find module 'D:\nodejs\node_modules\npm\bin\npm-cli.js'
这个时候应该怎么办捏?我百度了很多解决方法,但无一成功。网上最成功的解决方案是重装node(后续的操作也证明一般情况下重装node确实是不错的解决方案),但我不是特别想重装node。
这个时候我突然想到我的电脑上安装了gnvm,也就是node与npm的版本管理工具,我的第一篇博客就介绍了gnvm的使用,入口在这里,我用gnvm npm latest
尝试安装最新的npm,结果提示
值得注意的是第一条Notice,它说我本机的npm版本未知,也就是说因为之前的错误操作,原来的npm已经不能用了,继续安装最新版npm之后再执行npm -v发现可以输出npm版本,说明可以使用npm了,通过npm config get prefix
可以发现当前版本的npm全局安装路径是我之前的设置
所以,解决问题的关键在于重装npm,如果没有类似于gnvm这种node/npm版本控件,直接重装node是一个不错的选择(百度上也有单独安装npm的方法,但感觉不太合适)
ps:在安装最新的npm时,命令行提示的最新版本貌似一直都是3.10.9,但继续执行下去再测试npm版本会发现其实安装的是最新版本。