15

After I switch from one node.js version to another with n module - https://github.com/visionmedia/n/, my npm is broken...

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)

then i'm installing npm again as it was adviced here - https://github.com/visionmedia/n/issues/101

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

npm begins to work..

but then i do another switch for node version:

n 0.8.22

and npm now is broken again with the same error.

it's very annoying.. do I need to install npm manually after every version switch?!

4

5 回答 5

1

不同版本是否有不同的全局包存储库?

可能需要全局重新安装该软件包,或者在切换版本后sudo npm install -g清理软件包管理缓存。sudo npm cache clean

于 2014-07-27T06:18:15.013 回答
0

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

于 2015-03-13T09:34:34.883 回答
0

我遇到了同样的问题,找不到解决方案。

似乎n的维护不如nvm好,所以我按照这些步骤完全删除了节点并使用 nvm 重新安装它。

(并且节点现在包括 npm)

于 2014-10-27T11:04:21.290 回答
0

如果你像我一样经常更换版本,Node 和 npm 现在应该捆绑在一起了。您可以尝试使用 NVM 安装节点

https://github.com/creationix/nvm

这将帮助您区分不同节点版本中的包。只需在切换后执行 npm install 即可。

PS:目前的node版本目前相当稳定。您可以只使用当前版本而不是 0.8.22

于 2014-03-13T20:48:23.353 回答
0

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

于 2014-07-28T07:07:42.243 回答