n模块打破npm

n个模块切换到另一个node.js版本后 – 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,因为它是在这里build议 – https://github.com/visionmedia/n/issues/101

 curl https://npmjs.org/install.sh | sh 

npm开始工作..

但是然后我做另一个节点版本的开关:

 n 0.8.22 

现在npm又被打破了同样的错误。

这是非常烦人的..我需要每个版本切换后手动安装npm?

是否有不同版本的全球软件包存储库?

也许这个软件包需要全局重新安装sudo npm install -g或者软件包pipe理caching在切换版本之后清理sudo npm cache clean

如果你是像我这样的频繁版本更换者,Node和npm应该捆绑在一起。 您可以尝试使用NVM安装节点

https://github.com/creationix/nvm

这将帮助您区分不同节点版本的软件包。 在交换机之后做一个npm安装。

PS:目前节点版本相当稳定。 你可以使用当前版本而不是0.8.22

你可以尝试手动安装npmlognpm install -g npmlog

我有同样的问题,找不到解决scheme。

看起来n比nvm维护得不好,所以我完全删除了这些步骤后的节点,并用nvm重新安装了它。

(并且节点现在包含npm)

我在Windows上有同样的问题。 我卸载了节点,从安装目录中删除了所有内容并重新安装。 重新启动命令行后,我又得到了npm的工作。