【问题标题】:What does "extra" field mean in composer.json file?composer.json 文件中的“额外”字段是什么意思?
【发布时间】:2014-05-03 07:59:29
【问题描述】:

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

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

我的问题是:

这是必填字段吗? 这是什么意思,我必须在里面写什么?

【问题讨论】:

  • 谢谢,但是关于它的信息非常少,甚至没有例子:(
  • 但这就是您对 imo 的要求,我确实对其进行了测试,并且可以将任意数据放在那里。我输入了“aaa”->“bbb”,它起作用了。这里唯一的另一个答案不回答额外字段,而是其他子字段虽然是一个例子。

标签: php json composer-php


【解决方案1】:

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

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

另外,假设 master 分支是 2.0.x 开发分支。如果要安装 master 分支,实际上需要最新的2.0.x dev 版本。因此,与其引用分支名称 (dev-master),不如使用更语义化的名称 (2.0.x@dev)。因此,当最新的2.0.x 分支发布 alpha、beta、RC 等版本时,Composer 可以完美地处理这个问题。

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

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

【讨论】:

  • 感谢您的复杂回答!
  • Maerlyn 在上面的评论中回复了这个,你举了一个子字段的例子,并描述了
猜你喜欢
  • 2013-09-29
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-09
  • 2011-06-10
  • 2021-12-15
相关资源
最近更新 更多