NPM:找不到模块&node-gyp / bin / node-gyp'

时间:2018-01-12 15:12:43

标签: node.js npm ubuntu-14.04 npm-install node-gyp

我在 ubuntu 14.04 节点8.0.0 下使用 NPM

我已将 npm 5.2.0 升级为 5.6.0

但之后所有npm命令都失败,表明存在以下问题:

  

节点-GYP / bin中/节点-GYP

完整的日志如下:

npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'node-gyp/bin/node-gyp'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/khalidvm/.npm/_logs/2018-01-12T15_02_35_338Z-debug.log
khalidvm@ubuntu:~/Desktop$ gedit /home/khalidvm/.npm/_logs/2018-01-12T15_02_35_338Z-debug.log
^C
khalidvm@ubuntu:~/Desktop$ sudo npm uninstall npm -g
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'node-gyp/bin/node-gyp'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/khalidvm/.npm/_logs/2018-01-12T15_05_25_322Z-debug.log

我担心我无法使用npm,即使卸载它也会引发同样的错误。

3 个答案:

答案 0 :(得分:7)

如果你在Ubuntu 14.04上运行默认的node节点,那么软件包应该是过时的(我相信它是0.xx版本)并且是你问题的根源。你可以在这里查看:https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

使用最新的节点分发,node-gyp遇到了同样的问题。事实证明我在/usr/local下安装了 ghost 。那是重影我的node可执行文件。

运行后删除它:

  sudo rm -rf /usr/local/bin/node-gyp 
  sudo rm -rf /usr/local/bin/npm
  sudo rm -rf /usr/local/bin/npx
  sudo rm -rf /usr/local/lib/node_modules/

和清理我的主目录中的节点文件,以防止出现这种情况:

  rm -rf ~/.node-gyp/
  rm -rf ~/.npm/

我卸载了当前的节点安装,并重新安装:

sudo apt-get remove --purge nodejs
sudo apt-get install nodejs

答案 1 :(得分:1)

对我来说(Arch Linux)通过pacman安装node-gyp就足够了:

sudo pacman -Sy node-gyp

关于Arch,请参见:https://www.archlinux.org/packages/community/any/node-gyp/

sudo apt-get install node-gyp

对于Ubuntu,请参见:https://packages.ubuntu.com/de/trusty/web/node-gyp

答案 2 :(得分:1)

在Arch Linux上,对我来说,它也可以在删除nodejs和依赖项并重新安装node和npm时使用。

CompletableFuture

好东西here