【问题标题】:Composer doesn't load custom repoComposer 不加载自定义仓库
【发布时间】:2020-03-14 17:19:53
【问题描述】:

我在 github 上分叉了三个耦合存储库,以对其中一个进行更改并立即使用这些更改,而 PR 未获批准。这些回购是:

async-soap-guzzlesoap-http-binding 中,我已将我的存储库添加到composer.json(并将dev-master 设置为要使用的版本),所以我在我的项目中使用了composer.json。现在,当我在项目中使用composer update 时,它会从async-soap-guzzle 的主仓库的master 加载最后一次提交:( 请任何人解释一下为什么这样做。

这是我的composer.json

{
    "repositories": [
        {
            "name": "arrilot/bitrix-migrations",
            "type": "vcs",
            "url": "https://github.com/viktorprogger/bitrix-migrations"
        },
        {
            "name": "meng-tian/async-soap-guzzle",
            "type": "vcs",
            "url": "https://github.com/viktorprogger/async-soap-guzzle"
        },
        {
            "name": "meng-tian/async-soap-guzzle",
            "type": "vcs",
            "url": "https://github.com/viktorprogger/soap-http-binding"
        },
        {
            "name": "meng-tian/async-soap-guzzle",
            "type": "vcs",
            "url": "https://github.com/viktorprogger/php-soap-interpreter"
        }
    ],

    "require": {
        "php": "^5.6",
        "ext-pdo":  "*",
        "ext-dom": "*",
        "ext-curl": "*",
        "ext-libxml": "*",
        "ext-simplexml": "*",
        "ext-json": "*",
        "ext-soap": "*",

        "arrilot/bitrix-migrations": "dev-master",
        "shuchkin/simplexlsx": "^0.8",
        "monolog/monolog": "^1.25",
        "guzzlehttp/guzzle": "^6.4",
        "meng-tian/async-soap-guzzle": "dev-master"
    }
}

每次运行composer update 时都会显示Updating meng-tian/async-soap-guzzle dev-master (dbbc9b2 => 15ec881): Checking out 15ec881a6edbbc9b2 是我的 repo 的 master HEAD15ec881 是原始 repo 的 master HEAD ,实际上每次都签出。

这是我的composer.lock 中关于async-soap-guzzle 回购的一个块:

        "name": "meng-tian/async-soap-guzzle",
        "version": "dev-master",
        "source": {
            "type": "git",
            "url": "https://github.com/viktorprogger/async-soap-guzzle.git",
            "reference": "dbbc9b2e0a0d3f8c201b347c3b2a38f28fe41f5e"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/viktorprogger/async-soap-guzzle/zipball/dbbc9b2e0a0d3f8c201b347c3b2a38f28fe41f5e",
            "reference": "dbbc9b2e0a0d3f8c201b347c3b2a38f28fe41f5e",
            "shasum": ""
        },

vendor 目录中的代码对应于原始仓库中的dev-master (https://api.github.com/repos/meng-tian/async-soap-guzzle)

【问题讨论】:

    标签: git composer-php


    【解决方案1】:

    Composer 将仅考虑来自根 composer.json 的自定义存储库,这意味着,您需要将所有三个自定义存储库添加到您的项目 composer.json,以便 Composer 将您的复刻加载到您的项目中。

    更多详情:https://getcomposer.org/doc/04-schema.md#repositories

    【讨论】:

    • Thnx,再次阅读文档并更新我的问题。问题在于,这三个软件包中的任何一个都没有从我的存储库中下载。但是还有一个包arrilot/bitrix-migrations 声明了一个自定义repo,它成功地从自定义repo 下载。
    猜你喜欢
    • 2016-10-05
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 2019-12-05
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    相关资源
    最近更新 更多