[nodejs]package.json里的依賴版本
依賴分類
依賴根據開發環境需要和實際運行環境需要,分為dependencies和devDependencies。
例如:typescript和eslint屬于devDependencies,而vue和axios等屬于dependencies。
版本號組成
版本由兩部分組成,一是前面的前綴符號,二是版本號。
這里先介紹版本號。
版本號
版本號的形式是:a.b.c;
a:主要版本(major version),代表一次重大更改,通常不會兼容舊版本,即發生breaking change;更新主要版本通常意味著需要將項目代碼向新版本進行遷移,典型的案例是vue2到vue3的升級;b:次要版本(minor version),代表這個新版本有新的功能(new features),不包括breaking change,通常可以無痛升級,但是可能伴隨著新的bug;c:補丁版本(patch version),代表這個版本是為了修復bug發布的。
前綴部分
前綴符號的含義:
^:表示接受補丁版本和次要版本,這個符號是默認值;~:表示只接受補丁版本,更穩妥;
區間相關的前綴符號:
>:表示接受大于該版本號的所有版本;- 類似的還有:
<,>=,<=; -:例如1.0.0 - 2.0.0,閉區間;||:組合集合,例如1.0.0 || >=1.1.0 <1.2.0,表示使用1.0.0版本或者使用從1.1.0開始但低于1.2.0的版本。
檢查包的版本
npm outdated可以檢查當前的包是否有過時的版本,會在控制臺輸出一個表格,其中包含了項目的所有直接依賴的相關版本信息。
主要需要關注的列是Current,Wanted和Latest:
Current:當前項目所使用的版本;Wanted:根據版本號前綴,可接受的最新版本;Latest:這個依賴目前已發布的最新版本;
更新包的版本
npm update [-g] [<pkg>...]
根據package.json中配置的版本號前綴,將所有的依賴(或者指定的依賴)更新到可以接受的最新版本。

浙公網安備 33010602011771號