簡體   English   中英

在composer.json中帶有插入符號和波浪號的版本號

[英]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時引入不兼容的更改。

摘要:

  • 喜歡插入符號操作符 - 這是強制最小補丁版本的最簡單方法。
  • 首選版本高於0.x(從1.0.0開始)並為您自己的代碼使用語義版本控制。
  • 對於開發階段,您可以將alphabetarc穩定性與預期的最終版本一起使用,即1.0.0-alpha1將是1.0.0將來的概要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM