是否可以就地升级
node
,而不是手动安装最新的稳定版本?
我已经安装了node.js版本
5.0
和nvm
,但现在我想将其更新为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
就您而言, 新版本 = 5.4 旧版本 = 5.0
或者,尝试:
nvm install stable --reinstall-packages-from=current
您可以更简单地运行以下命令之一:
最新版本:
nvm install node --reinstall-packages-from=node
稳定(LTS)版本:(如果当前正在使用)
nvm install "lts/*" --reinstall-packages-from="$(nvm current)"
这将安装适当的版本并重新安装当前使用的节点版本中的所有软件包。
这使您无需手动处理特定版本。
感谢 @m4js7er 对 LTS 版本的评论。
以下是适用于我的 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
如果您有 4.2 并且想安装 5.0.0 那么
nvm install v5.0.0 --reinstall-packages-from=4.2
gabrielperales 的答案是正确的,只是他错过了最后的“=”符号。如果您不添加“=”符号,则将安装新的节点版本,但不会安装软件包。
来源:sitepoint
Node.JS 安装新版本。
第 1 步:NVM 安装
npm i -g nvm
第2步:NODE最新版本安装
nvm install *.*.*(NodeVersion)
第3步:选择节点版本
nvm use *.*.*(NodeVersion)
完成
以下是升级 NodeJs 版本的步骤:
nvm install node
(将安装最新版本)。或者,你
可以通过运行 nvm install <node_version>
来指定特定版本。nvm use <node_version>
来使用它。nvm alias default <node_version>
。补充说明:
要了解您的计算机上有哪些节点版本以及哪一个被设置为默认版本,请使用
nvm list
命令。
对于 Windows 11 这对我在 cmd 上有用,与管理员权限一起使用:
先决条件,如果您刚刚安装了NVM,则在安装nvm后打开一个新的cmd窗口。
请参阅此处的安装说明:https://github.com/coreybutler/nvm-windows
nvm list
nvm current
nvm install latest
nvm list
nvm use PUT_VERSION_NUMBER_TO_BE_USED
您可以使用
再次检查更改是否成功nvm list
nvm remove PUT_VERSION_NUMBER_TO_BE_REMOVED
如果您想使用LTS版本,请使用
安装nvm install lts
我将节点从v16.20.0升级到v18.16.0的步骤如下
==> nvm list
-> v16.20.0
v18.16.0
default -> 16.20.0 (-> v16.20.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.16.0) (default)
stable -> 18.16 (-> v18.16.0) (default)
lts/* -> lts/hydrogen (-> v18.16.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0
lts/hydrogen -> v18.16.0
==> nvm current
v16.20.0
==> nvm install 18.16.0
v18.16.0 is already installed.
Now using node v18.16.0 (npm v9.5.1)
==> nvm current
v18.16.0
用于更新当前活动版本的 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
的输出,以便仅返回节点的主要版本,即:v13.5.0
-> 13
。
我只需运行:nvm install 18.17.0 就可以了
nvm install <version>
nvm use <version>
看起来够了