在“npm update -g”之后错误“找不到模块'npmlog'”

我有NVM 0.30.1,并用它在Fedora 22上安装node.js v5.4.0(与NPM 3.5.4)。当我运行npm update -g ,我收到以下警告:

 npm WARN EBUNDLEOVERRIDE Replacing bundled npm > init-package-json with new installed version npm WARN EBUNDLEOVERRIDE Replacing bundled npm > node-gyp with new installed version npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npm-install-checks with new installed version npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npmlog with new installed version npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version 

之后,当我运行npm时,我得到这个错误:

 module.js:328 throw err; ^ Error: Cannot find module 'npmlog' at Function.Module._resolveFilename (module.js:326:15) at Function.Module._load (module.js:277:25) at Module.require (module.js:354:17) at require (internal/module.js:12:17) at /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:20:13 at Object.<anonymous> (/home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:76:3) at Module._compile (module.js:398:26) at Object.Module._extensions..js (module.js:405:10) at Module.load (module.js:344:32) at Function.Module._load (module.js:301:12) 

有谁知道它是什么以及如何解决它?

谢谢

它看起来像npm update -g不能更新npm到最新版本。 我通过手动更新npm安装来解决问题。

  1. 安装/重新安装节点以获取捆绑的npm
  2. 运行npm install -g npm@3.5.4来更新全局的npm安装
  3. 现在npm update -g应该工作

感谢您的答案。 这是一个bug ,它已经在Node v5.4.1中修复了。 现在它照常工作。

这对我来说是固定的

 sudo rm -rf /usr/local/lib/node_modules/ 

然后重新安装节点(使用npm)。

init-package-json,node-gyp,npm-install-checks,npmlog,read-package-json没有正确安装。 不知道为什么。

没有find问题的根本原因,但我现在使用hacky的方式来安装上面的包:

  • 回滚到npm没有更新的前一个节点版本。 例如, nvm use iojs
  • cd到npm安装的地方,例如cd /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm然后重新安装这些软件包,如rm -rf node_modules/init-package-json && npm install init-package-json

我在Windows 10 PC中遇到了同样的问题。 查看解决scheme后,因为我无法find我正面临的问题的确切解决scheme无法find模块'npmlog'我只是卸载节点js,然后删除'npm'和'npm-cache'在“C: \用户\ YourPCName \应用程序数据\漫游”

然后,我从Node JS网站下载了最新版本的节点

并且,安装节点js

之后,我检查了环境variables中的path。

最后运行命令提示符“以pipe理员身份运行”和npm install npm -g

检查您的版本将显示最新版本。 'npm -v'

我得到了最新版本 – v3.10.9

尝试这个。 这应该工作。

如果用linux的人面临这个问题,这里是解决办法:

截至本文的发布date,与Nodejs打包在一起的NPM版本不起作用。 如果你安装了这个包,运行

 sudo rm -rf /usr/local/bin/npm sudo apt-get install node sudo mv /usr/bin/npm /usr/local/bin/npm 

新版本应该是3.10.8,旧的错误消失了