node.js - 安装新版本后卡在旧版本上

标签 node.js

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/

相关文章:

node.js - 在使用 Nodemon 重新启动 node.js (express) 服务器之前构建

javascript - 并行 API 请求的异步模块错误

javascript - @Get ('*' ) 不匹配空 (NestJS)

node.js - expressjs设置tls连接https nginx服务器进行请求

node.js - 如何在 Dialogflow 中为多语言代理实现语言切换?

javascript - 将流从浏览器发送到 Node JS 服务器

node.js - 带有异步等待的 Node repl

node.js - 你如何使用 node-irc 登录?

node.js - "ERROR: Cannot add foreign key constraint"- 迁移

node.js - 在 NodeJS 中录制互联网音频流