关于npm 包更新工具npm-check-updates 使用详解

2022-10-28 17:59:23 浏览数 (1)

首先说一下包版本的控制

假设 package.json 的包版本如下

代码语言:javascript复制
"dependencies": {
  "vue": "^2.5.0",
  "vuex": "~3.1.0",
  "vue-router": "3.5.3",
  "react": "15.4.x",
  "typescript": "3.x.x",
  "react-dom": "*.*.*",
  "react-draggable": "x.x",
  "classnames": "x",
  "pinia": "*"
}

执行安装后得到的版本如图所示

分析

  • vue ^2.5.0 => vue 2.6.14
  • vuex ~3.1.0 => vuex 3.1.3
  • vue-router 3.5.3 => vue-router 3.5.3
  • react 15.4.x => react 15.4.2
  • typescript 3.x.x => typescript 3.9.10
  • react-dom *.*.* => react-dom 17.0.2
  • react-draggable x.x => react-draggable 4.4.4
  • classnames x => classnames 2.3.1
  • pinia * => pinia 2.0.12

通过上述安装后得到的版本可得知

  • ^ 开头的版本会固定首个大版本,后面的两个小版本会更新到最新,如 vue ^2.5.0 => vue 2.6.14
  • ~ 开头的版本会前两个版本,后面的小版本会更新到最新 vuex ~3.1.0 => vuex 3.1.3
  • 不带符号,直接写版本号会安装固定的版本 vue-router 3.5.3 => vue-router 3.5.3
  • 最小的版本设置为 x 或者 *,其最小的版本号会更新到最新 react 15.4.x => react 15.4.2
  • 依次类推任何一位版本设置为 x 或者 *,其当前位置的版本号都会更新到最新
  • 永远保持最新版本可以将版本号设置为 x 或者 *,如 pinia * => pinia 2.0.12

npm-check-updates 包的作用

将你的 package.json 依赖升级到最新版本,忽略指定的版本。

安装

代码语言:javascript复制
npm install -g npm-check-updates

检查 package.json 的最新依赖项

代码语言:javascript复制
ncu

显示当前目录中项目的所有最新依赖项(不包括 peerDependencies):

查看单个包的最新版本

代码语言:javascript复制
ncu vue

更新 package.json 的最新依赖项

代码语言:javascript复制
ncu -u

更新单个依赖

代码语言:javascript复制
ncu -u vue

查看全局的安装包最新版本

代码语言:javascript复制
ncu -g

使用通配符

检查某一个包

代码语言:javascript复制
ncu vuex
ncu -f vuex
ncu --filter vuex

检查某一类的包

代码语言:javascript复制
ncu 'vue*'
ncu "/^react*$/"

检查除某个包以外的所有包

代码语言:javascript复制
ncu !vue
ncu -x vue
ncu --reject vue

检查特定的几个包

代码语言:javascript复制
ncu vue vuex
ncu vue,vuex
ncu -f "vue vuex"

检查不以 react 开头的包

代码语言:javascript复制
ncu !'react*'

同理,更新的话只要在上面的每个语句后面加上 -u

0 人点赞