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

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


当前回答

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

最新版本:

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

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

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

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

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


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

其他回答

用于更新当前活动版本的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。

Node.JS来安装新版本。

步骤1:NVM安装

-G NVM 中的 NPM

步骤2:NODE最新版本安装

nvm安装*.*.*(nodeversion)

步骤3:选择节点版本

nvm使用*.*.*(NodeVersion)

完成

下面是我在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 node --reinstall-packages-from=node

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

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

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

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

最新版本:

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

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

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

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

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


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