是否可以就地升级节点,而不是手动安装最新的稳定版本?

我已经用nvm安装了node.js 5.0版本,但现在我想把它更新到5.4。我试图避免手动重新安装我所有的全局包(例如通过运行npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla…)


当前回答

下面是我在Ubuntu操作系统和使用nvm时使用的步骤

访问nodejs网站,获取最新的LTS版本(例如版本为:x.y.z)

nvm install x.y.z
# In my case current version is: 14.15.4 (and had 14.15.3)

之后,执行nvm list,你会得到nvm安装的节点版本列表。

现在你需要切换到默认的最后安装的一个执行:

nvm alias default x.y.z

重新列出或执行nvm——version命令查看:

更新:有时即使我走了上面的步骤,它不工作,所以我所做的是删除/usr/local/bin中的符号链接

cd /usr/local/bin
sudo rm node npm npx

和重新链接:

sudo ln -s $(which node) /usr/local/bin/nodesudo && ln -s $(which npm) /usr/local/bin/npmsudo && ln -s $(which npx) /usr/local/bin/npx

其他回答

这可能有用:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

例如:

nvm install 6.7 --reinstall-packages-from=6.4

然后,如果你愿意,你可以删除你以前的版本:

nvm uninstall OLD_VERSION

在你的情况下, New_version = 5.4 Old_version = 5.0

另外,试题:

nvm install stable --reinstall-packages-from=current

下面是我在Ubuntu操作系统和使用nvm时使用的步骤

访问nodejs网站,获取最新的LTS版本(例如版本为:x.y.z)

nvm install x.y.z
# In my case current version is: 14.15.4 (and had 14.15.3)

之后,执行nvm list,你会得到nvm安装的节点版本列表。

现在你需要切换到默认的最后安装的一个执行:

nvm alias default x.y.z

重新列出或执行nvm——version命令查看:

更新:有时即使我走了上面的步骤,它不工作,所以我所做的是删除/usr/local/bin中的符号链接

cd /usr/local/bin
sudo rm node npm npx

和重新链接:

sudo ln -s $(which node) /usr/local/bin/nodesudo && ln -s $(which npm) /usr/local/bin/npmsudo && ln -s $(which npx) /usr/local/bin/npx

对于Windows 11,这适用于我的cmd,使用管理员权限:

前提条件,如果你刚刚安装NVM,是在NVM安装后打开一个新的cmd窗口。

参见安装说明:https://github.com/coreybutler/nvm-windows

获取已安装的版本,使用

nvm list

获取当前版本

nvm current

安装最新版本

nvm install latest

检查已安装的版本以查看更新的版本,再次使用

nvm list

将当前版本设置为最新版本(具有管理员权限的cmd),您在上一步中刚刚安装

nvm use PUT_VERSION_NUMBER_TO_BE_USED

您可以再次检查更改是否成功使用

nvm list

删除旧版本,如果不再需要

nvm remove PUT_VERSION_NUMBER_TO_BE_REMOVED

如果您想使用LTS版本,请安装using

nvm install lts

⚡两个简单的解决方案:

要安装最新版本的节点,并重新安装旧版本的包,只需运行以下命令。

nvm install node --reinstall-packages-from=node

要安装最新的lts(长期支持)版本的node并重新安装旧版本包,只需运行以下命令。

nvm install --lts /* --reinstall-packages-from=node

这里有一个GIF动画来支持这个答案:

如果你有4.2并且想要安装5.0.0那么

nvm install v5.0.0 --reinstall-packages-from=4.2

gabrielperales的答案是正确的,只是他错过了结尾的“=”号。如果不使用“=”符号,则将安装新的节点版本,但不会安装包。

来源:sitepoint