[英]Version numbers with caret and tilde in composer.json
我想知道composer.json中插入符號和波形符號之間的區別是什么。 我可以這樣說:插入符號(^)鎖定第一個和第二個版本號(1.2.3中的1.2)和波浪號(〜)只鎖定第一個版本號(1.2.3中的1)?
https://getcomposer.org/doc/articles/versions.md#next-significant-release-operators
從您鏈接的文檔:
~1.2相當於> = 1.2 <2.0.0,而~1.2.3相當於> = 1.2.3 <1.3.0
^ 1.2.3相當於> = 1.2.3 <2.0.0
代字號取決於版本號中的位數。 給出的最后一位數可以變化。
插入符號幾乎總是更好的選擇,因為它的行為類似於直接替換( ~1.2
與^1.2
或^1.2.0
),但在處理非零補丁版本時提供更好的靈活性( ^1.2.3
與~1.2.3
,因為波浪號版本只允許1.3.0以下的更新,插入符允許更新低於2.0.0)。
使用代字號作為版本要求的唯一原因是,如果您必須處理獲得兼容更新的“零”版本。 波浪號在~0.1
和~1.1
之間沒有差別,在這兩種情況下,它都允許更新到下一個主要版本號(分別低於1.0或2.0)。 插入符號操作符將禁止此范圍內的次要更新: ^0.1
不允許更新為0.2,因為在語義版本控制中,零點式版本可能會在轉到零點點+ 1時引入不兼容的更改。
摘要:
alpha
, beta
或rc
穩定性與預期的最終版本一起使用,即1.0.0-alpha1
將是1.0.0
將來的概要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.