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
你可以尝试手动安装npmlog : npm install -g npmlog
我有同样的问题,找不到解决scheme。
看起来n比nvm维护得不好,所以我完全删除了这些步骤后的节点,并用nvm重新安装了它。
(并且节点现在包含npm)
我在Windows上有同样的问题。 我卸载了节点,从安装目录中删除了所有内容并重新安装。 重新启动命令行后,我又得到了npm的工作。