Composer下载存储库在Gitlab中作为存档

时间:2017-08-21 15:49:19

标签: php git composer-php gitlab

TL; DR

我需要一种方法让作曲家将我的包下载为存档,因此它排除了我不希望包含在我的.gitattributes中的文件和目录export-ignore

背景信息

我的composer包存储库中有文件,我不想包含在使用此包的项目中(DataFixtures,Tests,CI配置)。我已经设置了一个.gitattributes文件,该文件排除了那些export-ignore的文件夹和文件。

当手动下载程序包时,这很正常,但当你用git签出代码时,它当然没有。

这是我的问题开始的地方,我已经手动将存储库添加到composer.json,因为它是一个私有的gitlab实例。每当我运行composer update时,它都会使用GIT来下载代码。我可能需要一种方法来让作曲家删除.gitattributes上的文件或强制它将我的存储库下载为存档。

composer.json示例

"repositories": [
    {
        "url": "git@<my-gitlab-server>:composer-libraries/testproject.git",
        "type": "git"
    }
],
......
"require": {
    "myownvendor/testproject": "^1.0",
}

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试将此存储库的preferred-install方法设置为dist中的composer.json

{
    "config": {
        "preferred-install": {
            "myownvendor/testproject": "dist"
        }
    }
}

或者,通过运行

来安装依赖项
$ composer install --prefer-dist

供参考,见: