git - Composer 无法克隆 git repo

标签 git composer-php

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

使用我在 other answers 中找到的内容,我的项目的 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",
    }
}

但是当我运行 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

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

所以,它似乎确实检查了 repo 以获得最新的提交 (4d135f4b01dc896ffc722d8e24cc106d38cb4602) - 但克隆时失败了。

我可以手动clone这个项目,所以好像没有权限:

git clone git.amh.net.au:/var/opt/gitlab/git-data/repositories/amh-framework/amh-framework.git

我该怎么做才能解决这个问题?

最佳答案

根据 composer's documentation ,您只需要:

{
    "require": {
        "amh-framework/amh-framework": "dev-develop"
    },
    "repositories": [ 
        {
            "type": "vcs",
            "url": "git@git.amh.net.au:/var/opt/gitlab/git-data/repositories/amh-framework/amh-framework.git"
        }
     ]
}

确保为版本使用实际分支。

关于git - Composer 无法克隆 git repo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120795/

相关文章:

git - 确定几组(每组 25k 文件)之间的文件相似性

php - Bitbucket 管道部署忽略带有 ftp 上传的供应商文件夹

php - 安装 laravel --prefer-dist

Symfony 2.1、 Composer 和 git 存储库

git - 更新 Github 上 fork 存储库的多个分支

git - 使用 Git,在我的代码提交 merge 到 master 分支后,我是否删除我的远程分支,再次克隆 master 并 checkout 下一个分支?

docker - Docker返回了一个非零代码:安装 Composer 时为28

php - Composer 没有将依赖项安装到 PHP 项目中

windows - 为什么在 git bash 中创建的文件在 Windows 资源管理器中不可见?

java - 使用 ssh NBGit 到远程主机