2014-03-25 35 views
0

我嘗試將composer.json文件添加到我的庫中。在我看到,我發現"extra"領域的例子很多,看起來像:composer.json文件中的「extra」字段是什麼意思?

"extra": { 
    "branch-alias": { 
     "dev-master": "2.0.x-dev" 
    } 
} 

我的問題是:

這是一個必填字段? 這是什麼意思,我必須寫在裏面?

+0

https://getcomposer.org/doc/04-schema.md#extra – Maerlyn

+0

謝謝,但它是一個非常有關它的信息,甚至沒有例子:( –

回答

1

它是別名主分支。 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"的文檔。

+0

感謝複雜的答案! –