使用没有Packagist的Composer

ump*_*sky 9 php symfony composer-php

比如说你想要使用别人的捆绑包,但想做一些修改.所以你在一些新的分支中进行修改,并配置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"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

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

任何的想法?

igo*_*orw 28

您应该使用VCS存储库而不是包存储库.包没有composer.json,而你想要内联指定它.在你的情况下有一个composer.json,所以你可以使用VCS repo,如下所示:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/umpirsky/SyliusAssortmentBundle"
    }
]
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 添加了指向文档的链接,以备您想要阅读更多内容. (2认同)