作曲家 - 来自一个项目的多个存储库


Composer - multiple repositories from one project

当我想安装作曲家的一些库时,只需编写:

composer require vendor/library

作曲家从GitHub下载它。没有必要为每个"供应商/库"提供 url 给 composer.json。作曲家"内部"这样做。但是当我想从例如 bitbucket 添加一些库时,我必须创建这个 composer.json:

{
    "require": {
        "vendor/my-private-repo1": "dev-master",
        "vendor/my-private-repo2": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@bitbucket.org:vendor/my-private-repo1.git"
        },
        {
            "type": "vcs",
            "url":  "git@bitbucket.org:vendor/my-private-repo2.git"
        }
    ]
}

我必须指定要安装的每个库的 url,即使它们来自同一项目。有没有办法让它更短?我可以做这样的事情吗:

{
    "require": {
        "vendor/my-private-repo1": "dev-master",
        "vendor/my-private-repo2": "dev-master",
        "vendor/my-private-repo3": "dev-master",
        "vendor/my-private-repo4": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url":  "git@bitbucket.org:vendor/*"
        }
    ]
}

我希望我的问题可以理解。谢谢。

您需要单独指定每个存储库,或者使用 satis 或 toran 代理管理作曲家包。您仍然需要定义存储库,但只能定义一次(在 satis 或 toran 中)。