php - composer.json 文件中的 "extra"字段是什么意思?

标签 php json composer-php

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

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

我的问题是:

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

最佳答案

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

但是,master 分支对于 Composer 来说是模糊的。它无法从该名称解析版本。这同样适用于不遵循通用版本名称的其他分支。您可以使用 dev-master 引用 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 分支)别名为一个版本。这是在 extra 部分的 branch-alias 部分完成的。在您提供的代码中,master 分支被设置为最新的 2.0.x 版本的开发版本。因此人们可以在他们的 composer.json 中使用 2.0.*@dev 并且他们将安装这个 master 分支。

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

关于php - composer.json 文件中的 "extra"字段是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635208/

相关文章:

php - 评估字符串作为条件 PHP

php - 在 ruby​​ 代码中调用 php 脚本

php - 在类之外声明一个新的静态变量

php - Composer 需求开发问题

php - Composer 更新和 Composer 全局更新之间的区别

php - 过滤数据后出现 JSON 错误,但页面无需过滤即可正常加载

javascript - 解析 JSON 文件 - 子数组或方括号内的 node.js

javascript - 如何在 React Native 中访问 json 对象的字符串

javascript - 匹配 JSON 对象中的键/值

php - 使用 composer 安装 propel