❌❌❌❌❌不要在公司代码上执行,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
相关推荐
Coffeeee9 小时前
两个例子,帮你快速理解什么是Token
人工智能·程序员·ai编程
文心快码BaiduComate10 小时前
从个人提效到组织提效:Comate辅助构建自我进化的AI研发系统
前端·程序员
微信公众号AI创造财富11 小时前
VSC++ xc0150002 是 Visual C++ 运行库缺失导致的?
程序员
AskHarries11 小时前
企业微信 / Telegram / WhatsApp 接入
程序员
SamDeepThinking12 小时前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
CodeSheep12 小时前
他俩只靠写代码,登上了胡润财富榜!
前端·后端·程序员
To_OC1 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
烬羽1 天前
中英文 token 数量差一倍?两段 JS 代码搞懂 LLM 底层是怎么"读"文字的
javascript·程序员·架构
Patrick_Wilson1 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
程序员cxuan1 天前
GPT-5.6 还不发布?不过大家可以先看看 Codex 的白皮书。
人工智能·后端·程序员