是什么意思"额外" composer.json文件中的字段?

时间:2014-03-25 12:51:56

标签: php json composer-php

我尝试将composer.json文件添加到我的库中。在我看到的许多示例中,我发现"extra"字段,如下所示:

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

我的问题是:

这是必填项目吗? 它是什么意思,我必须写什么?

1 个答案:

答案 0 :(得分:1)

它使主分支别名。 Composer使用GIT版本和分支来获取版本的版本号。因此,1.2分支可用作1.2@devv1.2.1代码可用作1.2.1版本。

但是,master分支对于Composer来说是模糊的。它无法解析该名称的版本。这同样适用于不遵循通用版本名称的其他分支。您可以使用dev-master来引用主分支,但这并不总是被认为是一种好习惯。

此外,假设master分支是2.0.x dev分支。如果要安装master分支,实际上需要最新的2.0.x dev版本。因此,您不想引用分支名称(dev-master),而是希望使用更具语义性的内容(2.0.x@dev)。因此,当为最新的2.0.x分支执行alpha,beta,RC等发布时,Composer可以完美地处理此问题。

为了使Composer执行此操作,您必须将分支(在本例中为master分支)别名为版本。这是在branch-alias部分的extra部分完成的。在您提供的代码中,master分支设置为最新2.0.x版本的开发版本。因此,人们可以在他们的2.0.*@dev中使用composer.json,他们将安装此主分支。

简短回答:它的分支别名,有关详细信息,请参阅文档的"Aliases"