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

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


当前回答

这可能有用:

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

其他回答

以下是升级NodeJs版本的步骤:

运行nvm install node(将安装最新版本)。另外,您 可以通过运行NVM install <node_version>来指定特定的版本。 可执行nvm use <node_version>命令使用。 如果您想让它成为您机器上的默认版本,请运行nvm alias default <node_version>。


其他说明:

使用nvm list命令可以发现您的计算机上有哪些节点版本,以及哪个节点版本被设置为默认版本。

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动画来支持这个答案:

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