【问题标题】:How to tell composer to use a branch of my fork?如何告诉作曲家使用我的叉子的一个分支?
【发布时间】:2014-10-11 12:33:09
【问题描述】:

在 symfony2 项目中,我正在使用“jms/serializer-bundle”,但它的依赖项之一存在问题,即 jms/metadata 库。我已经分叉了元数据库,并在 bugfix-doctrine-proxy 分支中包含了一个修复程序。

现在我想知道如何告诉作曲家,它应该在需要依赖项时使用我的分支?

序列化库的composer.json:

{
    "name": "jms/serializer",
    "type": "library",
    ...
    ],
    "require": {
        "php": ">=5.3.2",
        "jms/metadata": "~1.1",
        "jms/parser-lib": "1.*",
        "phpcollection/phpcollection": "~0.1",
        "doctrine/annotations": "1.*"
    },
    ...
}

我的 symfony2 项目 composer.json:

{
    ...
    "repositories": [
        {
            "type": "git",
            "url": "git@github.com:hauptsacheNet/metadata.git"
        }
    ],
    "require": {
        "jms/serializer-bundle": "dev-master",
        ...
    }
}

【问题讨论】:

  • 这个问题似乎是题外话,因为它有明确的记录,正如自己的回答所证明的那样
  • @NDM 我不同意。如果它被清楚地记录在案,我根本不会费心去问它。当我再次遇到同样的问题时,我会用这个问题作为参考。
  • 好吧,事实证明它对我很有用 :) 特别是对于文档中未提及的“as”别名,如果不进行一些挖掘getcomposer.org/doc/05-repositories.md#vcs

标签: php symfony composer-php dependency-management


【解决方案1】:

答案是使用分支别名:

{
"repositories": [
        {
            "type": "git",
            "url": "git@github.com:hauptsacheNet/metadata.git"
        }
    ],
    "require": {
        "jms/metadata": "dev-bugfix-doctrine-proxy-class as 1.1",
    },
}

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 2014-12-19
    • 2017-07-08
    • 2012-11-10
    • 2013-12-15
    • 2016-01-30
    • 2013-04-26
    • 1970-01-01
    相关资源
    最近更新 更多