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

fir*_*baa 14 node.js npm node-gyp ubuntu-14.04 npm-install

我在我的ubuntu 14.04节点8.0.0下使用NPM.

我已将我的npm5.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
Run Code Online (Sandbox Code Playgroud)

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

spa*_*pac 7

如果你在Ubuntu 14.04上运行默认的node节点,那么软件包应该已经过时了(我相信它是一个0.xx版本)并且是你问题的根源.您可以通过以下方式解决此问题:https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

使用最新的节点分布,我遇到了同样的问题node-gyp.事实证明,我有一个幽灵装置/usr/local.那是重影我的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/
Run Code Online (Sandbox Code Playgroud)

和清理我的主目录中的节点文件,以防止:

  rm -rf ~/.node-gyp/
  rm -rf ~/.npm/
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get remove --purge nodejs
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)


小智 5

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

sudo pacman -Sy node-gyp
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install node-gyp
Run Code Online (Sandbox Code Playgroud)

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