如何使用nvm正确升级节点

Bor*_*kov 184 package-management node.js npm nvm

是否可以直接升级node,而不是手动安装最新的稳定版本?

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

gab*_*les 270

这可能有效:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION
Run Code Online (Sandbox Code Playgroud)

例如:

nvm install 6.7 --reinstall-packages-from=6.4
Run Code Online (Sandbox Code Playgroud)

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

nvm uninstall OLD_VERSION
Run Code Online (Sandbox Code Playgroud)

在您的情况下,NEW_VERSION = 5.4 OLD_VERSION = 5.0

或者,尝试:

nvm install stable
Run Code Online (Sandbox Code Playgroud)

  • 通过`nvm ls-remote`,您可以看到所有发行版。 (4认同)
  • 这对我有用:`nvm install node --reinstall-packages-from = $(nvm current)。这样会将Node.js更新到最新版本,并从以前的版本重新安装npm全局软件包。 (2认同)

Ela*_*lad 167

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

最新版本:
nvm install node --reinstall-packages-from=node
稳定(LTS)版本:
nvm install lts/* --reinstall-packages-from=node

这将安装相应的版本并从当前使用的节点版本重新安装所有软件包.这样可以避免手动处理特定版本.

编辑 - 根据@ m4js7er评论添加了安装LTS版本的命令.

  • 如果要更新到最新的稳定版本(lts - 建议大多数用户使用),那么您应该运行:`nvm install lts/*--reinstall-packages-from = node`.之后,您可以使用`nvm uninstall [旧版本]`清理您的版本.您可以使用`nvm ls`列出所有已安装的版本. (19认同)
  • 如果您在使用默认 zsh shell 的 OSX 上并得到 `zsh: no matches find: lts/*`,只需引用 lts/* 参数以防止 Z shell 将 * 解释为通配符:`nvm install 'lts/ *' --reinstall-packages-from=node` (4认同)
  • 我绑定了命令 `nvm install lts/* --reinstall-packages-from=node`,但它给了我错误,说找不到“版本 'lts/*' - 尝试 'nvm ls-remote' 浏览可用版本。`我我使用的是 NVM 版本 0.30.1,也许我的 NVM 太旧了。我最终手动将 `lts/*` 替换为 `10.15.2/*` 以使其工作。 (2认同)

Tan*_*ony 10

如果你有4.2并想要安装5.0.0然后

nvm install v5.0.0 --reinstall-packages-from=4.2
Run Code Online (Sandbox Code Playgroud)

gabrielperales的答案是正确的,除了他在最后错过了"="符号.如果你没有输入"="符号,那么将安装新节点版本,但不会安装软件包.

来源:sitepoint


Mos*_*tav 10

以下是适用于Ubuntu操作系统并使用的步骤nvm

访问nodejs网站并获取最新的LTS版本(例如版本为:xyz)

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

之后执行nvm list即可得到nvm安装的node版本列表。

现在您需要通过执行以下命令切换到默认的最后安装的版本:

nvm alias default x.y.z
Run Code Online (Sandbox Code Playgroud)

再次列出或运行nvm --version检查: 在此输入图像描述

更新:有时即使我执行上面的步骤也不起作用,所以我所做的就是删除中的符号链接/usr/local/bin

cd /usr/local/bin
sudo rm node npm npx
Run Code Online (Sandbox Code Playgroud)

并重新链接:

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
Run Code Online (Sandbox Code Playgroud)


Ahm*_*ais 9

两个简单的解决方案:

要安装最新版本的节点并重新安装旧版本的软件包,请运行以下命令.

nvm install node --reinstall-packages-from=node
Run Code Online (Sandbox Code Playgroud)

要安装最新lts long-term-support版本的节点并重新安装旧版本的软件包,请运行以下命令.

nvm install lts/* --reinstall-packages-from=node
Run Code Online (Sandbox Code Playgroud)

这是一个支持这个答案的GIF. NVM


小智 7

Node.JS 安装新版本。

第 1 步:NVM 安装

npm i -g nvm

第 2 步:安装 NODE 最新版本

nvm install *.*.*(NodeVersion)

步骤3:选择节点版本

nvm use *.*.*(NodeVersion)

结束


小智 6

升级 NodeJs 版本的步骤如下:

  1. 运行nvm install node(将安装最新版本)。或者,您可以通过运行指定特定版本nvm install <node_version>
  2. 运行nvm use <node_version>即可使用它。
  3. 如果您想将其设为计算机上的默认版本,请运行nvm alias default <node_version>.

补充笔记:

要了解您的计算机上有哪些节点版本以及哪一个被设置为默认版本,请使用nvm list命令。