用 npm outdated 先看依赖落后多少

14 次浏览2 条回复

升级依赖前可以先跑一下 npm outdated,比直接翻 package.json 直观一点。

环境:Node.js 16+,npm 8+,项目根目录执行:

npm outdated

它会列出当前安装版本、wanted 版本和最新版本。wanted 一般受 semver 范围限制,latest 是仓库里的最新发布。

只想看生产依赖也可以:

npm outdated --omit=dev

这个命令只读,不会改 lockfile。比较适合升级前先判断是小补丁,还是已经跨了大版本,避免一上来就 update 把范围搞乱。

这个命令还有个小细节挺有用:如果只想在 CI 里看一下有没有东西落后,可以加 --json,后面脚本解析会省事一点。

npm outdated --json

不过它发现有过期依赖时退出码不一定是 0,直接接在严格模式脚本里要注意别把“有更新”误当成命令坏了。

还可以临时指定包名,只看某几个要升级的依赖,输出会清爽一点:

npm outdated react typescript

如果是在 workspace 里排查,记得结合当前目录和 npm 版本看结果范围;不然有时候以为整个仓库都看到了,其实只是在当前 package 下看。