Php Composer将存储库作为归档文件下载到Gitlab中

Php Composer将存储库作为归档文件下载到Gitlab中,php,git,composer-php,gitlab,Php,Git,Composer Php,Gitlab,TL;博士 我需要一种方法让composer将我的包作为存档下载,这样它就可以将我不想包含在.gittributes上的文件和目录作为导出忽略 背景信息 我的composer软件包存储库中有一些文件,我不想包含在使用此软件包DataFixture、Tests、CI配置的项目中。我已经设置了一个.gittributes文件,它排除了那些带有导出忽略的文件夹和文件 当手动将包作为zip下载时,这种方法很好用,但当您使用git签出代码时,当然不会 这就是我的问题开始的地方,我已经将存储库手动添加到co

TL;博士

我需要一种方法让composer将我的包作为存档下载,这样它就可以将我不想包含在.gittributes上的文件和目录作为导出忽略

背景信息

我的composer软件包存储库中有一些文件,我不想包含在使用此软件包DataFixture、Tests、CI配置的项目中。我已经设置了一个.gittributes文件,它排除了那些带有导出忽略的文件夹和文件

当手动将包作为zip下载时,这种方法很好用,但当您使用git签出代码时,当然不会

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

composer.json示例

有办法解决这个问题吗?

尝试在composer.json中将此存储库的首选安装方法设置为dist:

或者,通过运行

$ composer install --prefer-dist
有关参考,请参阅:


这对我来说非常有效。我还发现,您可以将其作为包类型添加到存储库中,这样,它将始终作为分发zip下载:
{
    "config": {
        "preferred-install": {
            "myownvendor/testproject": "dist"
        }
    }
}
$ composer install --prefer-dist