一键在本地批量检测并升级更新 package.json 中的模块依赖,ncu(npm-check-updates)在 npm、pnpm 或 workspace 项目中的使用教程
简介
使用前需知
semver - 语义化版本控制规范
X.Y.Z => Major.Minor.Patch => 主版本号.次版本号.修订号
Npm
# 根据当前 package.json 中的 semver 规范升级版本
npm update
# 无视规范,使用最新版本
npm update --latest
# 更新全局范围的依赖,可通过 npm ls -g 查看当前拥有哪些全局依赖
npm update -g
pnpm
# 同 npm
pnpm update
# or
pnpm up
# or
pnpm upgrade
# 同 npm
pnpm up --latest
# 更新全局依赖
pnpm update -g
yarn
yarn upgrade
yarn upgrade --latest
yarn global upgrade
安装
全局安装时可直接使用
ncu
命令
npm install -g npm-check-updates
也可在命令行直接使用
npx npm-check-updates
ncu registry
或者直接修改 npm 的
registry
配置,推荐使用 nrm 进行设置
npm config set registry https://xxx
ncu
默认寻找当前执行目录中的
package.json
文件
$ ncu
ncu -i --format group
- 交互模式
$ ncu -i --format group
ncu --target <semver>
- 遵循 semver 规范
# 遵循当前 package.json 中的 semver 规范
ncu --target semver
# 安装最新的 次版本和修订版
ncu --target minor
# 只更新 修订版
ncu --target patch
更新 npm 安装的全局依赖
# 检查 npm 的全局依赖
ncu -g
更新其他 packageManager 安装的全局依赖
pnpm default global path => https://pnpm.io/zh/next/npmrc#global-dir
# 查询当前全局依赖的安装目录
$ npm root
# or
$ pnpm root
# 更新通过 pnpm 安装的依赖
$ ncu -g -p pnpm
$ pnpm config get prefix
$ ncu -g -p pnpm --prefix <上面获取的路径>
在 workspace 项目中使用
ncu -ws --root
进阶使用
配合 pnpm catlogs 使用
脚本模块中使用
import ncu from 'npm-check-updates'
const upgraded = await ncu.run({
packageFile: '../package.json',
upgrade: true,
})
console.log(upgraded) // { "mypackage": "^2.0.0", ... }
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 kshao-blog-前端知识记录!
评论