Composer 无法克隆 git 存储库

Hor*_*Kol 6 git composer-php

我正在尝试在我的私人 GitLab 存储库中获取模块的开发版本。

使用我在其他答案中找到的内容,我的项目的composer.json是:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://git.amh.net.au"
        },
        {
            "type": "package",
            "package": {
                "name": "amh-framework/amh-framework",
                "version": "dev-develop",
                "type": "package",
                "source": {
                    "url": "git.amh.net.au:/var/opt/gitlab/git-data/repositories/amh-framework/amh-framework.git",
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    ],

    "require": {
        "amh-framework/amh-framework": "dev-develop",
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行时composer update,它抛出一个 RuntimeException:

Failed to execute git clone --no-checkout '' '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && cd '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && git remote add composer '' && git fetch composer                                                                                                                                                                                                                                                

fatal: repository '' does not exist
Run Code Online (Sandbox Code Playgroud)

的输出composer update -vvv是:

Resolving dependencies through SAT
Dependency resolution completed in 0.001 seconds
  - Installing amh-framework/amh-framework (dev-develop 4d135f4)
Executing command (CWD): git --version
    Cloning 4d135f4b01dc896ffc722d8e24cc106d38cb4602
Executing command (CWD): git clone --no-checkout '' '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && cd '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && git remote add composer '' && git fetch composer
Executing command (CWD): git --version
Failed: [RuntimeException] Failed to execute git clone --no-checkout '' '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && cd '/var/checkouts/reports/reporter/vendor/amh-framework/amh-framework' && git remote add composer '' && git fetch composer

fatal: repository '' does not exist
Run Code Online (Sandbox Code Playgroud)

因此,它似乎确实检查了存储库以获取最新的提交(4d135f4b01dc896ffc722d8e24cc106d38cb4602) - 但克隆时失败。

我可以手动克隆该项目,因此它似乎没有权限:

git clone git.amh.net.au:/var/opt/gitlab/git-data/repositories/amh-framework/amh-framework.git
Run Code Online (Sandbox Code Playgroud)

我可以做什么来解决这个问题?

Hor*_*Kol 0

问题是由于存储库的排序造成的 - 我们使用 satis 作为私有包服务器。由于某种原因, satis 说 dev-master 分支可用,但无法正确提供它(尽管它适用于标签)。

通过更改文件,使 git repo 列在 satis 之前,它可以工作:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "git@git.amh.net.au:amh-framework/amh-test.git"
        },
        {
            "type": "composer",
            "url": "https://svn.amh.net.au:8002"
        }
    ],
    "require": {
        "amh-framework/amh-test": "dev-master"
    }
}
Run Code Online (Sandbox Code Playgroud)