是否可以就地升级节点,而不是手动安装最新的稳定版本?
我已经用nvm安装了node.js 5.0版本,但现在我想把它更新到5.4。我试图避免手动重新安装我所有的全局包(例如通过运行npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla…)
是否可以就地升级节点,而不是手动安装最新的稳定版本?
我已经用nvm安装了node.js 5.0版本,但现在我想把它更新到5.4。我试图避免手动重新安装我所有的全局包(例如通过运行npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla…)
当前回答
如果你有4.2并且想要安装5.0.0那么
nvm install v5.0.0 --reinstall-packages-from=4.2
gabrielperales的答案是正确的,只是他错过了结尾的“=”号。如果不使用“=”符号,则将安装新的节点版本,但不会安装包。
来源:sitepoint
其他回答
您可以更简单地运行以下命令之一:
最新版本:
nvm install node --reinstall-packages-from=node
稳定(LTS)版本:(如果当前正在使用)
nvm install "lts/*" --reinstall-packages-from="$(nvm current)"
这将安装适当的版本,并从当前使用的节点版本重新安装所有包。
这样可以避免手动处理特定版本。
赞扬@m4js7er对LTS版本的评论。
如果你有4.2并且想要安装5.0.0那么
nvm install v5.0.0 --reinstall-packages-from=4.2
gabrielperales的答案是正确的,只是他错过了结尾的“=”号。如果不使用“=”符号,则将安装新的节点版本,但不会安装包。
来源:sitepoint
⚡两个简单的解决方案:
要安装最新版本的节点,并重新安装旧版本的包,只需运行以下命令。
nvm install node --reinstall-packages-from=node
要安装最新的lts(长期支持)版本的node并重新安装旧版本包,只需运行以下命令。
nvm install --lts /* --reinstall-packages-from=node
这里有一个GIF动画来支持这个答案:
这可能有用:
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
用于更新当前活动版本的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。