2016-10-19 47 views
0

我想在我的私人GitLab存储库中获取模块的开发版本。作曲家未能克隆git回购

使用我在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 

因此,它确实似乎ch eck回购得到最新的提交(4d135f4b01dc896ffc722d8e24cc106d38cb4602) - 但它在克隆时失败。

我可以手动克隆项目,所以它不会显得权限:

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

我能做些什么来解决这个问题?

+0

难道你完全composer.json文件或者你缺少什么事情?因为验证它作为json文件给我两个错误。 –

+0

它现在更好吗现在我已经完全封闭了对象? – HorusKol

+0

是的,它是在删除第17行末尾的逗号后执行的。那么,为什么它不适合你? –

回答

0

composer's documentation,所有你需要的是:

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

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

+0

我仍然得到错误 - 这是我最初尝试的。在阅读了其他人的问题后,我回到了我目前的尝试。 – HorusKol

0
git clone '' 
fatal: repository '' does not exist 

看起来像上面的例子作曲家试图克隆一个不存在的存储库。

混帐克隆--no结账--->'< ---“在/ var /签/报告/记者/ V ...

所以在你composer.json提交您的网址,也许某处是空的。

另外,我在上面的composer.json文件中发现了至少两个问题。

Error: Parse error on line 1: "repositories": [{ "type": "packa --------------^ Expecting 'EOF', '}', ',', ']', got ':'

Error: Parse error on line 17: ...k": "dev-develop", }} ----------------------^ Expecting 'STRING', got '}'

0

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

通过这样的混帐回购上市SATIS提前更改文件,它的工作原理:

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "[email protected]:amh-framework/amh-test.git" 
     }, 
     { 
      "type": "composer", 
      "url": "https://svn.amh.net.au:8002" 
     } 
    ], 
    "require": { 
     "amh-framework/amh-test": "dev-master" 
    } 
}