是否可以正确升级node
,而不是手动安装最新的稳定版本?
我已使用node.js安装了nvm
版本5.0
,但现在我想将其更新为5.4
。我试图避免手动重新安装我的所有全局包(例如。,运行npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla
...)。
答案 0 :(得分:225)
这可能有效:
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
答案 1 :(得分:143)
您可以更简单地运行以下命令之一:
最新版本:
nvm install node --reinstall-packages-from=node
稳定(LTS)版本:
nvm install lts/* --reinstall-packages-from=node
这将安装相应的版本并从当前使用的节点版本重新安装所有软件包。 这样可以避免手动处理特定版本。
编辑 - 添加了根据@ m4js7er评论安装LTS版本的命令。
答案 2 :(得分:10)
如果您有4.2并且想要安装5.0.0那么
nvm install v5.0.0 --reinstall-packages-from=4.2
除了他错过了" ="最后的标志。如果你没有把#34; ="登录然后将安装新的节点版本,但不会安装包。
来源:sitepoint
答案 3 :(得分:7)
⚡ TWO 简单解决方案:
要安装最新版本的节点并重新安装旧版本软件包,请运行以下命令。
accounts.stream()
.filter(account -> account.getMargin() >= MARGIN_LIMIT)
.sorted(Comparator.comparingDouble(Account::getMargin)
.reversed()
.thenComparing(Comparator.comparing(Account::getName)))
.skip(PAGE_SIZE * (page - 1))
.limit(PAGE_SIZE)
.collect(Collectors.toMap(
Account::getMargin,
x -> {
List<Account> list = new ArrayList<>();
list.add(x);
return list;
},
(left, right) -> {
left.addAll(right);
return left;
},
LinkedHashMap::new));
要安装最新的nvm install node --reinstall-packages-from=node
lts
版本的节点并重新安装旧版本的软件包,请运行以下命令。
long-term-support
答案 4 :(得分:0)
Node.JS以安装新版本。
第1步:NVM安装
npm i -g nvm
第2步:安装NODE最新版本
nvm install *.*.*(NodeVersion)
第3步:选定的节点版本
nvm use *.*.*(NodeVersion)
完成
答案 5 :(得分: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
。
答案 6 :(得分:0)
以下是适用于 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
更新:有时即使我完成了上面的步骤也不起作用,所以我所做的是删除 /usr/local/bin
cd /usr/local/bin
sudo rm node npm npx
并重新链接:
sudo ln -s $(which node) /usr/local/bin/node
sudo ln -s $(which npm) /usr/local/bin/npm
sudo ln -s $(which npx) /usr/local/bin/npx