node 模塊版本號裏裏的^ ~ *符號都是啥什麼意思。


~x.y.z: 匹配大於 x.y.z 的 z 的最新版
^x.y.z: 匹配大於 x.y.z 的 y.z 的最新版segmentfault

*: 任意版本,通常是最後一次正式發佈版本(包括非 latest tag),不是最大版本號版本test

 

一個標準的版本號必須是X.Y.Z的形式,X是主版本,Y是副版本,Z是補丁版本。.bug

X: 表明發生了不兼容的API改變
Y: 表明向後兼容的功能性變化
Z: 表明向後兼容bug fixes
語義化版本號規則兼容

X.Y.Z - A.B.C 連字符範圍co

1.2.3 - 2.3.4 等價於 >=1.2.3 <=2.3.4
1.2.3 - 2 等價於 >=1.2.3 <3.0.0字符

~1.2.3 波浪線範圍版本

~1.2.3 等價於 >=1.2.3 <1.(2+1).0 等價於="">=1.2.3 <1.3.0
~1.2 等價於 >=1.2.0 <1.(2+1).0 等價於="">=1.2.0 <1.3.0 (Same as 1.2.x)
~1 等價於 >=1.0.0 <(1+1).0.0 等價於 >=1.0.0 <2.0.0 (Same as 1.x)ps

~0.2.3 等價於 >=0.2.3 <0.(2+1).0 等價於="">=0.2.3 <0.3.0
~0.2 等價於 >=0.2.0 <0.(2+1).0 等價於="">=0.2.0 <0.3.0 (Same as 0.2.x)
~0 等價於 >=0.0.0 <(0+1).0.0 等價於 >=0.0.0 <1.0.0 (Same as 0.x)tag

^1.2.3 脫字符範圍

脫字符範圍以後指定從左面起第一個非零位置的範圍。

^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,即等價於0.0.3

固然若是最後一位省略了或爲通配符x,X,*,則指定前一位字符的範圍,如

^1.2.x 等價於 >=1.2.0 <2.0.0
^0.0.x 等價於 >=0.0.0 <0.1.0
^0.0 等價於 >=0.0.0 <0.1.0

 

地址:https://segmentfault.com/q/1010000006124708     從這個問題貼過來的,免的忘了呢。 或許也能讓更多的人看到。

相關文章
相關標籤/搜索