如何在Bash/GitBash/PowerShell中仅当有新版本时更新全局NPM
NPM 版本检测并条件更新实现方案
NPM 自带全局包版本检测能力,可基于该能力实现仅当有可用新版本时才执行更新的逻辑,无需手动访问官网核对版本号。
Bash / Git Bash 适用方案
单行可直接执行命令
[ $(npm outdated -g npm | wc -l) -gt 0 ] && npm install -g npm@latest
带提示的完整脚本
可以将以下内容保存为update-npm.sh,添加执行权限后运行:
#!/bin/bash OUTDATED_INFO=$(npm outdated -g npm) if [ -n "$OUTDATED_INFO" ]; then echo "检测到 NPM 有可用新版本,开始更新..." npm install -g npm@latest echo "NPM 已更新至最新稳定版" else echo "当前 NPM 已是最新稳定版,无需更新" fi
PowerShell 适用方案
单行可直接执行命令
if (npm outdated -g npm) { npm install -g npm@latest }
带提示的完整脚本
可以将以下内容保存为update-npm.ps1,右键选择使用PowerShell运行:
$outdatedInfo = npm outdated -g npm if ($outdatedInfo) { Write-Host "检测到 NPM 有可用新版本,开始更新..." npm install -g npm@latest Write-Host "NPM 已更新至最新稳定版" } else { Write-Host "当前 NPM 已是最新稳定版,无需更新" }
注意:执行全局 NPM 更新操作时,需要对应终端拥有管理员/root权限,否则可能会出现安装失败的问题
内容的提问来源于stack exchange,提问作者Vicky Dev
相关产品推荐
相关产品推荐

