Composer Private Repository .git-folder一直在生成

时间:2014-02-22 12:28:10

标签: git repository private composer-php

我找不到解决方案,所以我在这里寻求帮助。 我在Bitbucket上创建了一个私有的Git-Repository,我想在我的作曲家项目中使用它。

到目前为止一切正常。问题是,一个.git文件夹一直在生成,我真的不想拥有它。 (我只想使用私有存储库中的包,没有别的!)

root项目中的我的composer.json看起来像这样:

{
    ...
    "require": {
        "vendorname/packagename": "*"
    },
    "repositories": [
        "type": "git",
        "url": "git@bitbucket.org:vendor/package.git"
    ]
    ...
    "config": {
    "preferred-install": "dist"
},
"minimum-stability": "dev"
}

我尝试将类型设置为vcs,没有更改。它可能是首选安装参数吗?

我会感激任何帮助。好像我在这里错过了什么。

1 个答案:

答案 0 :(得分:2)

Composer提供处理Bitbucket作为特殊源,具有分发下载URL的自动知识,但这仅适用于“https”存储库URL。

https://github.com/composer/composer/blob/master/src/Composer/Repository/Vcs/GitBitbucketDriver.php#L36

因为Composer不知道如何构建针对Bitbucket的“git”协议引用的下载URL,所以它默认为克隆repo。

而且我会说尝试编程这是一个相当困难的挑战,因为git协议中没有正式的“下载”通道,从git切换到https也很难,因为git url缺少一些创建https下载URL所需的重要信息。没有考虑身份验证的问题。

如果您可以为软件创建下载位置并在任何地方托管ZIP文件,您可以在库的composer.json文件中或根项目的存储库定义中提及此内容。请注意,这很难维护,因为它是手动完成的。

更好的解决方案是创建一个Satis实例,该实例检查Bitbucket存储库并创建它找到的每个标记版本的ZIP文件。结果可以托管在私人服务器上。