~1.2.3 代表 1.2.3 <= 版本號 < 1.3.0
^1.2.3 代表 1.2.3 <= 版本號 < 2.0.0
1,^ 符號,它與semantic versioning (語義版本控制)有關係,它表示盡量使用最新版本,但保證不產生相容問題,換句話說也就是除了大版本號以外,小版本號和補丁版本號都可以變。 但0 開頭的版本號是比較特殊的,而因為 ^ 嚴格遵守 semantic versioning 規則,所以會出現以下情況(早先的 composer 版本並沒有這樣的處理,後來修正了):^0.3.0 等於 >=0.3.0; <0.4.0,並不是<1.0.0 ,因為,semantic versioning 的規定是,大版本號以 0 開頭表示這是乙個非穩定版本(unstable),如果處於非穩定狀態,小版本號是允許不向下相容的!
2,~符號,表示版本號只能改變最末尾那段(如果是 ~x.y 末尾就是 y,如果是 ~x.y.z 末尾就是 z),比如這種情況:
~1.2 等於 >=1.2.0; <2.0.0
3,因為0的特殊性所以如果你要指定 0 開頭的庫那一定要注意:
~0.1 這種寫法是很危險的,因為 ~0.1 等於 >=0.1.0; <1.0.0,可能出現無法向下相容的情況,比較保險的寫法還是:^0.1(等於 >=0.1.0; <0.2.0)
版本號簡述
版本號簡介 版本號一般分為major 主版本號 minor 次版本號 revision incremental 修正版本號 一般格式為major.minor.revison 如何界定軟體什麼時候該用什麼樣的版本號呢?1 專案初版本時 版本號可以為 0.1 或 0.1.0,也可以為 1.0 或 1.0...
比較版本號
題目 比較兩個版本號 version1 和 version2。如果 version1 version2 返回 1,如果 version1 version2 返回 1,除此之外返回 0。你可以假設版本字串非空,並且只包含數字和 字元。字元不代表小數點,而是用於分隔數字序列。例如,2.5 不是 兩個半 ...
版本號排序
需求 對 4.3.17 4.3.16 4.3.9 排序 分析,版本號雖然都是數字,但是不能按照字元的順序排列,因為公升序的話,4.3.16 會排在 4.3.9 的前面,但實際上應該排在後面,所以我們需要做乙個轉化,就是將這些數字轉成乙個可以排序的東西,再做排序就沒有問題了。我這裡是將他們的值換算成了...