溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nodejs的package.json依賴dependencies中 ^ 和 ~ 的區(qū)別

發(fā)布時間:2020-07-04 14:55:16 來源:網(wǎng)絡(luò) 閱讀:732 作者:蓓蕾心晴 欄目:開發(fā)技術(shù)

nodejs的package.json定義了一個模塊,包括其依賴關(guān)系的一個簡單的JSON文件,該文件可以包含多個不同的指令來告訴Node包管理器如何處理模塊。 dependencies則表示此模塊依賴的模塊和版本,其中常常可以看到類似 ^1.2.0 或 ~1.2.0 這樣的版本范圍指示。

首先,一個完整的版本號組表示為: [主要版本號,次要版本號,補丁版本號]

1. 用 ~ 指示范圍

版本號中如果指定了主要版本、次要版本,則只允許補丁版本升級;

如果只指定了主要版本,則允許次要版本、補丁版本升級。

~1.2.3   指定了主要、次要版本,所以最高可升級到1.2.9

~1  指定了主要版本,則做高可升級到1.9.9

~1.2.3-beta.2 >=1.2.3-beta.2 < 1.3.0 

(注:1.2.3版允許高于beta.2的beta版,但1.2.4-beta.2不被允許,因為是屬于另一個版本號組的beta版本。)

2. 用 ^ 指定范圍

允許不會改變最左邊的不為零的版本號的版本提升,也就是說,^1.0.0允許次要、補丁版本升級,^0.1.0允許補丁版本升級,^0.0.x 不允許升級。

^1.2.3 >=1.2.3 < 2.0.0

^0.2.3 >=0.2.3 < 0.3.0

^0.0.3 >=0.0.3 < 0.0.4

^1.2.3-beta.2 >=1.2.3-beta.2 < 2.0.0 

允許1.2.3 版的高于beta-2 的beta版本。

^0.0.3-beta.2 >=0.0.3-beta.2 < 0.0.4 

只允許0.0.3 版的高于beta-2 的版本 

當(dāng)解析帶有^的版本范圍時,補丁版本號缺少會補 0,但是會靈活的處理,即主要、次要版本號都為 0 也可以。

^1.2.x >= 1.2.0 < 2.0.0 

^1.x >= 1.0.0 < 2.0.0 

^0.0.x >= 0.0.0 < 0.1.0

^0.0 >= 0.0.0 < 0.1.0

^0.x >= 0.0.0 < 1.0.0


參考鏈接:http://blog.csdn.net/kaosini/article/details/50353375

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI