Error “Cannot find module 'npmlog'” after

2019-01-27 13:00发布

问题:

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.

  1. Install/ reinstall node to get the bundled npm
  2. run npm install -g npm@3.5.4 to update the global npm installation
  3. 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) 


标签: node.js npm nvm