可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have NVM 0.30.1 and used it to install node.js v5.4.0 (with NPM 3.5.4) on Fedora 22. When I run npm update -g
, I receive the following warnings:
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
And after that, when I run npm I get this error:
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)
Does anyone know what it is and how to solve it?
Thanks
回答1:
Thanks for the answers. It was a bug and it has already been fixed in Node v5.4.1. Now it's working as usual.
回答2:
What fixed this for me was
sudo rm -rf /usr/local/lib/node_modules/
and then re-installing node (with npm).
回答3:
It looks like npm update -g
cannot update npm to the newest version. I solve the problem by updating npm installation manually.
- Install/ reinstall node to get the bundled npm
- run
npm install -g npm@3.5.4
to update the global npm installation
- now
npm update -g
should work
回答4:
I have faced the same issue in my Windows 10 PC. After looking into solutions, since i couldn't find the exact solution for the issue i was facing
Cannot find module 'npmlog'
I just uninstalled the node js and then, deleted both 'npm' and 'npm-cache' in
"C:\Users\YourPCName\AppData\Roaming"
Then, i downloaded the latest version of node from Node JS Website
And, installed node js
After that i checked with the path in environment variables.
Finally run the command prompt 'run as administrator' and npm install npm -g
Checking your version will show the latest version. 'npm -v'
I got the latest version - v3.10.9
Try this. this should work.
回答5:
If people with linux are facing the problem, here is the solution:
As of the date of this post, the NPM version packaged with Nodejs doesn't work. If you installed this package, run
sudo rm -rf /usr/local/bin/npm
sudo apt-get install node
sudo mv /usr/bin/npm /usr/local/bin/npm
New version should be 3.10.8 and the old error gone
回答6:
init-package-json, node-gyp, npm-install-checks, npmlog, read-package-json didn't installed correctly. Not sure why though.
Didn't find the root cause for the issue but I used the hacky way to install the packages above for now:
- Roll back to the previous node version which npm didn't be updated. For example,
nvm use iojs
cd
to where npm installed, for example, cd /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm
and reinstall those packages like rm -rf node_modules/init-package-json && npm install init-package-json
etc.
回答7:
Some of the answers already answered the question, but I will still like to throw in my own idea. I encountered same issue after I was told to run npm update -g npm
after running that piece of code, the error started. I solved mine by using Node Version Manager(nvm
):
nvm install 8
Note: not actually 8, but to a version of your choice e.g(6,5). Writing the version number will automatically install the stable of the version specified.
After the installation you should get a CLI message:
Now using node v8.11.4 (npm v5.6.0)