❌❌❌❌❌不要在公司代码上执行,npm使用命令小版本升级依赖并更新package.json

注意,一旦版本确定了,轻易不要变更,批量的变更更是不允许发生!特别是公司项目,就算当时没测出问题,一旦上线,就有可能发生重大事故,所以以下实验,仅允许在个人学习项目中使用,出了事不要把我供出来!

要使用 npm 命令升级某个依赖的小版本(minor/patch) ,并且自动更新 package.json 文件,可以用下面的几种方法:


使用npm outdated检查版本

使用outdated命令可以轻松的检测是项目的当前版本、需要升级的版本,最新版本供开发者参考。

vscode原生支持查看最新版本

vscode中,无任何插件加载,打开package.json,将鼠标放置到版本上,等待数秒,会显示最新版本发布时间。

使用 npm update + --save

sql 复制代码
npm update <包名> --save
  • 这会将依赖更新到允许的最新版本(比如 ^1.2.3 → 最新 1.x.x)。
  • 会更新 package-lock.jsonnode_modules,但 package.json 中的版本号 不会改变,除非超出范围。

方法 2:直接指定版本 + 安装(推荐)

你可以查看最新的小版本,然后直接用安装命令:

sql 复制代码
npm install <包名>@latest --save

如果你只想升级到 minor/patch 版本,建议使用:

lua 复制代码
npm install <包名>@^x.y.z --save

例子:将 axios 升级到 1.6.3 及之后的 patch:

kotlin 复制代码
npm install axios@^1.6.3

这将更新 package.json 里的版本范围(如 ^1.6.3),并同步安装。


方法 3:借助 npm-check-updates 工具(推荐)

npm-check-updates(简称 ncu)可以智能更新 package.json 中的依赖版本范围。

安装:

sql 复制代码
npm install -g npm-check-updates

查看可升级的包:

复制代码
ncu

升级小版本:

css 复制代码
ncu -u --target minor

或者只升级 patch:

css 复制代码
ncu -u --target patch

然后再执行:

复制代码
npm install

补充:--save 说明

  • npm 5 以后默认就会保存依赖到 package.json,不需要额外加 --save
  • 所以 npm install xxx@^1.2.3 就足够了
  • 使用npm-check-updates更新完package.json还需要重新npm install一下才可以更新package-lock.json

如果支持npx,也可以直接通过npx来运行。

bash 复制代码
npx npm-check-updates -u
npm install

VS Code版本插件

  • version lens

    推荐!安装后在package.json打开后,右上角有一个V字图标,手动开启关闭,不需要时不会造成负担。

  • NPM Package Version Bumper 打开命令面板,输入插件名称,提供丰富的升级方式,缺点是会直接产生git记录。

  • vscode-npm-dependency

    使用不当非常危险⚠️!在package.json文件中点击鼠标右键,选择npm udpate,会直接将依赖版本都升级成了最新版本。

总结

目标 命令
仅更新已安装包(不改 package.json) npm update
更新指定小版本并更新 package.json npm install xxx@^x.y.z
批量升级所有依赖(含更新 package.json) ncu -u --target minor && npm install
相关推荐
京东云开发者12 小时前
高可用架构的工程智慧
程序员
京东云开发者12 小时前
B端体验设计探索:如何缓解用户视觉疲劳
程序员
唐叔在学习12 小时前
Python桌面端应用最小化托盘开发实践
后端·python·程序员
holidaypenguin17 小时前
让 OpenClaw 在局域网内通过 HTTPS 正常访问的完整配置
程序员
阿里嘎多学长18 小时前
2026-03-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管
笨笨狗吞噬者19 小时前
维护 uniapp 小程序端近一年,我想拉一个开发者交流群
前端·程序员·uni-app
IT老小子20 小时前
【c 语言】linux下gcc编译工具的使用
程序员
SimonKing21 小时前
企微、QQ统统接入OpenClaw,蓄水池已满,准备养虾
java·后端·程序员
CodeSheep21 小时前
王自如公开招聘01号员工,这要求有多离谱?
前端·后端·程序员