2015-12-22 503 views
1

我有幾個關於作曲家的問題:作曲家版本問題

1)哪個操作員應該更好地在客戶項目中使用? ^

2)當我指定:

"behat/behat": "~1.3" 

,這是否意味着它會採取所有版本< 2.0例如 1.3,1.3.4,1.3.7,1.4,1.5.7 ...還是隻計算第二個數字(1.3,1.4,1.5,1.6 ...)?

3)當我specifiy:

"behat/behat": "^1.3" 

如何在這裏的行爲,對於2號)。

是否還有其他特殊情況,在指定版本號時需要注意?


p.s我已經閱讀了composer versions docs

+2

該文檔對我來說似乎很清楚 – RiggsFolly

+0

'〜' - 接受任何只改變最後一位數字的內容;'^' - 接受任何不會改變第一個數字的內容(唯一的例外是1.0之前的版本)至於你的第一個問題,這完全取決於你的項目是什麼 – raina77ow

回答

2

1)哪個操作員應該更好地在客戶項目中使用? ^或〜?

優選插入符號^代替~運算符。

2 + 3)是什麼意思,當我指定:"behat/behat": "~1.3"

~1.3相當於>=1.3 <2.0.0

簡單:

~設置一個最低版本,並允許最後一個版本的數字上去,同時保持BC安全

詳細:

  • 將取回一個版本開始具有最低版本的1.3系列的下邊界,可能1.3.0
  • 將與1.3.*1.4.*等進行(所有版本)
  • ,但它仍將版本的版本上邊界下方2.0.0

主要版本(此處從1.*.*2.*.*)的切換表示向後兼容性可能中斷(請參閱語義版本控制標準)。 軟件包管理器將避免獲取重大更改以保持軟件依賴關係的正常工作。

是否還有其他特殊情況,在指定版本號時需要注意?

有一些特殊情況下,例如獲取「DEV-大師」和發展依賴穩定開發等「特殊情況。

但問題是過於寬泛,提供一個很好的答案。再問,

+0

感謝您的解釋從文檔中我找不到它會的部分,在這兩種情況下,檢查1.3。*,1.4。*,1.5。*。說「〜1.3」時。 – user3746259

+1

最後一個例子:〜1.3與^ 1.3相同,但是〜1.3.1與^ 1.3.1不同,因爲第一個永遠不會達到1.4,第二個永遠是<2.0? – user3746259