10

例如,假设您想使用其他人的捆绑包,但想要进行一些修改。因此,您在一些新分支中进行修改,并配置 comspoer.json,如下所示:

{
    "require": {
        "sylius/assortment-bundle": "dev-soft-deleteable-products-disabled"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "sylius/assortment-bundle",
                "version": "1.0",
                "autoload": { "psr-0": { "Sylius\\Bundle\\AssortmentBundle": "" } },
                "target-dir": "Sylius/Bundle/AssortmentBundle",
                "source": {
                    "url": "https://github.com/umpirsky/SyliusAssortmentBundle.git",
                    "type": "git",
                    "reference": "soft-deleteable-products-disabled"
                }
            }
        }
    ]
}

这适用于主分支,但对于自定义分支,它提供:The requested package sylius/assortment-bundle dev-soft-deleteable-products-disabled could not be found.

任何想法?

4

2 回答 2

30

您确实应该使用 VCS 存储库而不是包存储库。包适用于没有 composer.json 并且您想内联指定它的情况。在您的情况下,有一个 composer.json,因此您可以使用 VCS 存储库,如下所示:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle"
    }
]

在这种情况下,Composer 将使用 GitHub API 来获取分支名称并检查版本是否dev-soft-deleteable-products-disabled存在。如果是这样,它将克隆存储库并签出所述分支。

希望如果您这样做是一种副作用,您的问题也将得到解决。

有关更多信息,请阅读关于存储库的文档章节

于 2012-09-01T18:52:28.287 回答
2

Satis 可以用作 Packagist 的微型版本 - 允许您集中控制私有存储库的 Composer 依赖项。

Satis 使用作曲家指南

于 2013-04-04T18:55:10.000 回答