Error “Cannot find module 'npmlog'” after “npm update -g”

岁酱吖の 提交于 2019-11-28 06:58:52

问题


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) 



回答8:


If you're using a Mac, perform the following steps, to remedy (assuming you have Homebrew installed already):

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

(to overcome bash: /usr/local/bin/npm: No such file or directory error):

hash -r 

Then go ahead with updating brew (to keep its kegs up to date) and the reinstallation process, linking is optional.

brew update

brew reinstall node

brew link --overwrite node

At any point inbetween you can use npm -v or node -v to test whether or not you are making progress. If you have node returning a version, but not npm then you will need to add your path to your environment with:

export PATH="/usr/local/bin:$PATH"


来源:https://stackoverflow.com/questions/34702617/error-cannot-find-module-npmlog-after-npm-update-g

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!