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

我已经用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

其他回答

用于更新当前活动版本的Bash别名:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

sed -rn "s/v([[:digit:]]+)。*/\1/p"将输出从NVM current转换,以便只返回node的主版本,即:v13.5.0 -> 13。

您可以更简单地运行以下命令之一:

最新版本:

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

稳定(LTS)版本:(如果当前正在使用)

nvm install "lts/*" --reinstall-packages-from="$(nvm current)"

这将安装适当的版本,并从当前使用的节点版本重新安装所有包。

这样可以避免手动处理特定版本。


赞扬@m4js7er对LTS版本的评论。

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

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

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

来源:sitepoint

对于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

Node.JS来安装新版本。

步骤1:NVM安装

-G NVM 中的 NPM

步骤2:NODE最新版本安装

nvm安装*.*.*(nodeversion)

步骤3:选择节点版本

nvm使用*.*.*(NodeVersion)

完成