繁体   English   中英

安装新版本后卡在旧版本上

[英]Stuck on an older version after installed a new one

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 gyp - node-gyp 安装节点 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)。

当您使用sudo安装node-gyp ,您正在“切换”到不同的用户(root),nvm 设置不适用于该用户。 因此,将使用系统安装的 Node 版本,从而触发您遇到的错误。

你有几个解决方案:

  • 安装node-gyp时不要使用sudo 因为您使用的是nvm ,所以您已经拥有以普通用户身份安装它所需的所有权限。
  • 更新系统安装的 Node.js 版本。 如果可能,这取决于您使用的发行版; 一些 Linux 发行版仅在其主要发行版中提供过时的 Node 版本。 在这种情况下,请查看Nodesource 二进制发行版,它为最常见的 Linux 发行版提供了最新的 Node 二进制文件。

您可能需要清理/删除其他版本的 Node.js。 也许最简单的方法是删除所有内容,然后重新安装。 npmjs.org 站点上有一个脚本( install.sh )。 只需在您的终端上运行它,然后它应该删除所有旧安装并安装最新版本。

试一试,让我知道这是否有帮助。 它似乎在这里解决了密切相关的问题。

我有同样的问题。 我发现我有一个旧版本的 node.exe 文件,在 PATH(环境变量)中,我有一个指向这个旧 node.exe 文件夹的链接。 一旦从路径中删除它(并重新启动 cmd),问题就解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM