NPM not working (Cannot find module 'internal/

2019-02-17 10:15发布

问题:

NPM error on update. I recently update to Node version 7.x. Now npm is not working.

I am unable to locate the error, it may be due to -
npm ERR! Cannot find module 'internal/fs'.

I get the following when I run sudo npm update -g -

npm ERR! Linux 3.13.0-101-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "update" "-g"
npm ERR! node v7.1.0
npm ERR! npm  v3.10.8
npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'internal/fs'
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

My /etc/profile.d/nodejs.sh has the following contents:

NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
export NODE_PATH

回答1:

You should be able to remove the npm directory (typically /usr/local/lib/node_modules/npm) and then reinstall one of the official node tarballs, which includes npm (you can find the latest from http://nodejs.org/dist/latest-v7.x/).

Did you upgrade from an older version of node?

If so, that is probably part of the reason why you are having this issue. Older versions of graceful-fs (a dependency of npm) did things that are no longer available in node v7.



回答2:

According to this thread, updating npm to version 4 will solve your problem, try:

npm i -g npm@4

If this doesn't work, try:

~/.n/n/versions/node/7.0.0/bin/npm i -g npm@4


回答3:

delete node_modules directory and then type in your console "npm install". For a reason that I dont know, if you only update npm, it does not fix the error, but re-installing npm everything is gonna be allright.



回答4:

For me, if I facing error "cannot find module internal/fs", it would be refer to command path. Better find the command path:

npm config get prefix

put into system environment path. It is worked for me after facing the error several days.