我嘗試將composer.json
文件添加到我的庫中。在我看到,我發現"extra"
領域的例子很多,看起來像:composer.json文件中的「extra」字段是什麼意思?
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
}
我的問題是:
這是一個必填字段? 這是什麼意思,我必須寫在裏面?
我嘗試將composer.json
文件添加到我的庫中。在我看到,我發現"extra"
領域的例子很多,看起來像:composer.json文件中的「extra」字段是什麼意思?
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
}
我的問題是:
這是一個必填字段? 這是什麼意思,我必須寫在裏面?
它是別名主分支。 Composer使用GIT版本和分支來獲取版本的版本號。因此1.2
分支可以用作[email protected]
,並且v1.2.1
標籤是1.2.1
版本。
但是,master
分支對於Composer而言是模糊的。它無法解析來自該名稱的版本。這同樣適用於不遵循通用版本名稱的其他分支。您可以使用dev-master
參考主分支,但這並不總是被認爲是一種好的做法。
另外,假設master
分支是2.0.x開發分支。如果你想安裝主分支,你實際上需要最新的2.0.x
dev版本。因此,而不是引用分支名稱(dev-master
),您想要使用更多語義([email protected]
)。因此,當最新的2.0.x
分支完成alpha,beta,RC等版本時,Composer可以完美地處理這個問題。
爲了讓Composer能夠做到這一點,您必須將分支(本例中爲master
分支)別名爲版本。這在extra
部分的branch-alias
部分完成。在您提供的代碼中,master
分支設置爲最新的2.0.x
版本的開發版本。所以人們可以在他們的composer.json
中使用2.0.*@dev
,他們將安裝這個主分支。
簡短回答:它是分支別名,更多信息請參閱"Aliases"的文檔。
感謝複雜的答案! –
https://getcomposer.org/doc/04-schema.md#extra – Maerlyn
謝謝,但它是一個非常有關它的信息,甚至沒有例子:( –