作曲家和多个分支

时间:2013-05-02 03:39:37

标签: php composer-php

我有一个带有2个分支的git项目:

  • 主人:目前“稳定分支”但遭到改变。发布标记在那里。
  • Devel:下一个版本的开发分支。当我们认为这里的某些功能非常稳定时,这将合并为主。

在master中,我的composer.json中有一个使用特定版本的要求:

"require" : {
    "triagens/arangodb" : "1.2.1",
    "php" : ">=5.4.0"
},

在我的devel分支中,我想使用依赖项的开发版本:

"require" : {
    "triagens/arangodb" : "dev-devel",
    "php" : ">=5.4.0"
},

实际上,当切换分支并运行composer installcomposer update时,我希望让作曲家更新/更改相应版本的依赖关系。

由于composer install --dev不支持在require-dev中使用不同版本的依赖项,因此我无法在require-dev部分设置不同的版本。

我还希望每个分支都没有单独的composer.json,因为合并会非常痛苦。

如果您有多个分支,并且每个分支都使用某种版本的依赖关系,那么最好的方法是什么?

1 个答案:

答案 0 :(得分:21)

您可以使用不同的名称维护composer.json的多个版本:

  • composer.master.json
  • composer.dev.json

然后当您致电composer.phar installcomposer.phar update时,您可以使用所需的作曲家文件作为序言:

  • COMPOSER=composer.master.json php composer.phar update
  • COMPOSER=composer.dev.json php composer.phar update

请参阅CLI docs