在我从一个node.js版本切换到另一个 n 模块 - https://github.com/visionmedia/n/后,我的 npm 被破坏......
MacBook-Pro-Dmitri:~ dmitri$ npm --version
module.js:340
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at /usr/local/bin/npm:19:11
at Object.<anonymous> (/usr/local/bin/npm:87:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
然后我按照这里的建议再次安装npm - https://github.com/visionmedia/n/issues/101
curl https://npmjs.org/install.sh | sh
npm开始工作..
然后我为节点版本做了另一个开关:
n 0.8.22
和npm现在再次被打破并出现相同的错误。
非常讨厌..我是否需要在每次版本切换后手动安装npm?!
答案 0 :(得分:1)
不同版本是否有不同的全局包存储库?
在切换版本后,可能需要全局重新安装该程序包sudo npm install -g
或程序包管理缓存清除sudo npm cache clean
。
答案 1 :(得分:0)
如果你像我这样频繁的版本转换器,那么Node和npm应该捆绑在一起。您可以尝试使用NVM安装节点
https://github.com/creationix/nvm
这有助于您区分不同节点版本的软件包。只需在切换后进行npm安装。
PS:目前的节点版本非常稳定。您可以使用当前版本而不是0.8.22
答案 2 :(得分:0)
您可以尝试手动安装 npmlog :npm install -g npmlog
答案 3 :(得分:0)
答案 4 :(得分:0)
我在Windows上遇到同样的问题。我卸载了节点,从其安装目录中删除了所有内容并重新安装。重新启动命令行后,我再次使用npm。