天天看點

關于npm 包更新工具npm-check-updates 使用詳解

作者:Miofly

首先說一下包版本的控制

假設 package.json 的包版本如下

"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": "*"
}
           

執行安裝後得到的版本如圖所示

關于npm 包更新工具npm-check-updates 使用詳解

分析

  • 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 依賴更新到最新版本,忽略指定的版本。

安裝

npm install -g npm-check-updates
           

檢查 package.json 的最新依賴項

ncu
           

顯示目前目錄中項目的所有最新依賴項(不包括 peerDependencies):

關于npm 包更新工具npm-check-updates 使用詳解

檢視單個包的最新版本

ncu vue
           

更新 package.json 的最新依賴項

ncu -u
           
關于npm 包更新工具npm-check-updates 使用詳解

更新單個依賴

ncu -u vue
           

檢視全局的安裝包最新版本

ncu -g
           

使用通配符

檢查某一個包

ncu vuex
ncu -f vuex
ncu --filter vuex
           

檢查某一類的包

ncu 'vue*'
ncu "/^react*$/"
           

檢查除某個包以外的所有包

ncu \!vue
ncu -x vue
ncu --reject vue
           

檢查特定的幾個包

ncu vue vuex
ncu vue,vuex
ncu -f "vue vuex"
           

檢查不以 react 開頭的包

ncu \!'react*'
           

同理,更新的話隻要在上面的每個語句後面加上 -u

繼續閱讀