node --version
v4.5.0
npm --version
2.15.9
node-gyp --version
v3.4.0
which node
/home/admin/.nvm/versions/node/v4.5.0/bin/node
出于某种原因,运行sudo npm install -g node-gyp
后 - node-gyp 随 Node v0.10.25 一起安装:
npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.25","npm":"1.3.10"})
npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.25","npm":"1.3.10"})
npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"v0.10.25","npm":"1.3.10"})
我已访问 /home/admin/.nvm/versions/node/
并找到这些文件夹:v4.4.4、v4.4.7、v4.5.0
。
有人可以触发这个问题吗? v0.10.25 版本在哪里以及如何删除它?
最佳答案
问题是您,作为普通用户,正在使用nvm
, Node 版本管理器,它允许您独立于系统安装的 Node 版本(在您的情况下为 0.10.25)安装不同(较新/较旧)版本的 Node。
当您使用 sudo
安装 node-gyp
时,您将“切换”到其他用户(root),而 nvm 设置对此不适用。因此,将使用系统安装的 Node 版本,从而触发您收到的错误。
您有一些解决方案:
- 安装
node-gyp
时不要使用sudo
。由于您使用的是nvm
,因此您已经拥有以普通用户身份安装它所需的所有权限。 - 更新系统安装的 Node.js 版本。如果可能的话,这取决于您使用的发行版;一些 Linux 发行版在其主要发行版中仅提供极其过时的 Node 版本。在这种情况下,请查看 Nodesource binary distribution ,它为最常见的 Linux 发行版提供最新的 Node 二进制文件。
关于node.js - 安装新版本后卡在旧版本上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39454723/