2016-04-21 70 views
6

在composer.json中可以指定一個「版本」字段;這裏是一個例子:composer.json中「version」字段的含義是什麼?

{ 
    "name": "vendor/dummy_package", 
    "description": "Dummy package", 
    "version": "1.0.0" 
} 

這是什麼意思,因爲它似乎不是強制性的?

是否用於比較vendor/dummy_package的所需版本?

在這種情況下,它是否贏得標籤?

謝謝!

回答

9

該版本是Composer將解決方案解析爲依賴項所必需的。但是,在大多數情況下(以及包裝商100%的時間),版本取自存儲庫中的標籤和分支。

在這些情況下,如果版本存在於composer.json中,對於分支它將被忽略,但對於標籤,它必須匹配標籤名稱,否則作曲者會認爲該標籤無效,因爲它具有衝突的版本信息。由於這個原因,我們通常建議人們完全放棄版本,因爲它可以減少出現問題的機率。

在少數情況下,例如,如果您想使用artifact repository例如,您需要在composer.json中指定版本。

綜上所述:如果你不知道你需要它,然後離開它:)

相關問題