❌❌❌❌❌不要在公司代码上执行,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
相关推荐
一拳不是超人8 小时前
做独立开发三个月,我的第一个产品终于有了 1000 个用户
前端·程序员
Hilaku9 小时前
作为面试官,我最怕遇到什么样的候选人?
前端·javascript·程序员
Sam_Deep_Thinking1 天前
new Thread()之后发生了什么?
java·后端·面试·程序员
一拳不是超人1 天前
之前用 AI 两小时写的塔罗网站,我真把它做上线了,然后呢?
前端·人工智能·程序员
人邮异步社区2 天前
学习Python的最佳学习路径是什么?
python·程序员
kyriewen2 天前
我删掉了 29 个 AI Skill 里的 23 个:留下的 6 个都有同一个特点
人工智能·程序员·ai编程
她的男孩2 天前
做了"异步导出",用户点了还是卡 3 分钟:扒完 4223 行源码,@Async 压根没生效
人工智能·后端·程序员
IamZJT_2 天前
Agent 系统工程 01|模型之外,Harness 到底该负责什么?
人工智能·python·程序员
爱勇宝2 天前
用了一个月 WorkBuddy,聊聊我的真实感受
前端·后端·程序员
无限压榨切图仔2 天前
加了“去 AI 味”Skill,水稿还是水:AI 写作流程缺的不是润色
人工智能·程序员