NPM 不工作(找不到模块 'internal/fs' - nodejs)

NPM not working (Cannot find module 'internal/fs' - nodejs)

更新时出现 NPM 错误。我最近更新到 Node 版本 7.x。现在 npm 不工作了。

我找不到错误,可能是因为 -
npm ERR! Cannot find module 'internal/fs'

当我 运行 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>

我的/etc/profile.d/nodejs.sh内容如下:

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

您应该能够删除 npm 目录(通常是 /usr/local/lib/node_modules/npm),然后重新安装官方节点 tarball 之一,其中包括 npm(您可以从 http://nodejs.org/dist/latest-v7.x/ 找到最新的)。

您是否从旧版本的节点升级?

如果是这样,这可能是您遇到此问题的部分原因。 graceful-fs 的旧版本(npm 的依赖项)做了节点 v7 中不再可用的事情。

根据此thread,将npm更新到版本 4 将解决您的问题,请尝试:

npm i -g npm@4

如果这不起作用,请尝试:

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

删除 node_modules 目录,然后在您的控制台中输入 "npm install"。由于我不知道的原因,如果您只更新 npm,它不会修复错误,但是重新安装 npm 一切都会好起来的。

对我来说,如果我遇到错误 "cannot find module internal/fs",它会参考命令路径。最好找到命令路径:

npm config get prefix

放入系统环境路径。 在遇到错误几天后,它对我有用。