如何忽略^、~等版本符号将npm所有依赖包升级到最新版本?
方案1:使用 npm-check-updates 工具(推荐)
这是目前最常用的跨平台批量升级方案,操作步骤如下:
- 全局安装工具:
不想全局安装的话可以跳过这步,直接用npx运行npm install -g npm-check-updates - 在项目根目录执行命令,直接修改package.json中的依赖版本为最新正式版,忽略原有的
^/~等版本前缀限制:# 全局安装了的话用这个 ncu -u # 没全局安装就用npx调用 npx npm-check-updates -u - 最后执行安装命令,拉取所有最新版本依赖即可:
npm install
方案2:使用npm原生命令批量安装
不想用第三方工具的话,可以直接执行命令批量安装所有依赖的最新版:
- 如果你的环境支持jq工具,可以直接执行以下命令批量升级全部生产依赖:
npm install $(npm list --depth 0 --json | jq -r '.dependencies | keys[]' | tr '\n' ' ')@latest - 也可以手动指定所有要升级的包一次性安装,会自动覆盖package.json中的旧版本配置:
npm install discord.io@latest discord.js@latest ms@latest node-localstorage@latest winston@latest xmlhttprequest@latest
注意事项
大版本升级通常会存在破坏性变更,比如discord.js v12和v13的API差异很大,升级前建议先备份package.json、package-lock.json文件,升级完成后需要对项目功能做兼容性测试。
内容的提问来源于stack exchange,提问作者flotho
相关产品推荐
相关产品推荐

