Node.js 在安装了新版本后,仍停留在旧版本上
出于某种原因,在运行Node.js 在安装了新版本后,仍停留在旧版本上,node.js,Node.js,出于某种原因,在运行sudo npm install-g node gyp之后,node gyp将与node v0.10.25一起安装: 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 我已经访问了/home/admin/.nvm/versions/node/并找到了这些文件夹:v4.
sudo npm install-g node gyp
之后,node gyp将与node v0.10.25一起安装:
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
我已经访问了/home/admin/.nvm/versions/node/
并找到了这些文件夹:v4.4.4、v4.4.7、v4.5.0
有人能触发这个问题吗?v0.10.25版本在哪里?我如何摆脱它?您可能需要清理/删除节点的其他版本。也许最简单的方法是删除所有内容,然后重新安装。上有一个脚本(
install.sh
)用于此。只需在您的终端上运行此程序,它就会删除所有旧安装并安装最新版本
试试看,如果有帮助,请告诉我。它似乎对密切相关的问题起了作用 问题在于,作为普通用户,您正在使用Node Version Manager,它允许您独立于系统安装的Node版本(在您的情况下,版本为0.10.25)安装不同(较新/较旧)的Node版本
当您使用sudo
安装node gyp
时,您正在“切换”到另一个用户(root),nvm设置不适用于该用户。因此,将使用系统安装的Node版本,从而触发您收到的错误
您有一些解决方案:
- 安装
时不要使用node gyp
。由于您使用的是sudo
,因此您已经拥有作为普通用户安装它所需的所有权限nvm
- 更新节点的系统安装版本。如果可能的话,这取决于您使用的发行版;一些Linux发行版只在其主发行版中提供非常过时的Node版本。在这种情况下,请看,它为最常见的Linux发行版提供了最新的节点二进制文件
- 我也有同样的问题。我发现我有一个旧版本的node.exe文件,在路径(环境变量)中我有一个指向这个旧node.exe文件夹的链接。一旦将其从路径中删除(并重新启动cmd),问题就解决了如果我使用以下命令重新安装它,是否会删除旧版本:curl-sL | sudo-E bash-sudo apt get install-ynodejs@ohadinho我想会的,是的。
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"})