composer.json 文件中的“extra”字段是什么意思?

Vic*_*sky 5 php json composer-php

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

"extra": {
    "branch-alias": {
        "dev-master": "2.0.x-dev"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

这是必填字段吗?它是什么意思以及我必须在其中写什么?

Wou*_*r J 1

它是 master 分支的别名。Composer 使用 GIT 版本和分支来获取发行版的版本号。所以1.2分支可以用作1.2@dev,标签v1.2.1就是1.2.1版本。

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

另外,假设该master分支是 2.0.x 开发分支。如果你想安装 master 分支,你实际上需要最新的2.0.xdev 版本。因此,您不想引用分支名称 ( 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,他们将安装这个主分支。

简短的回答:这是分支别名,有关更多信息,请参阅文档的“别名” 。