从作曲家包中排除文件

时间:2013-12-01 20:25:56

标签: php composer-php packagist

我有a PHP libraryput up on packagist.org。我想从包中排除某些文件(例如几个JAR和我的测试),因此依赖于我的库的人不必下载它们。

我把以下内容放在我的composer.json中:

"archive": {
    "exclude": ["/test", "composer.phar", "wiremock"]
}

但这似乎并未改变下载的依赖项的内容。

Composer是否支持我想要的功能?我的存档/排除配置有什么作用?

1 个答案:

答案 0 :(得分:2)

据我所知,Composer不支持这一点。在您的方案中,下载的过程如下:除非您使用参数--prefer-source,否则Composer会从Github下载.zip存档(对于您的库,这将是例如https://github.com/rowanhill/wiremock-php/archive/0.1.0.zip)。由于这个存档已经由github编写,包括你的所有文件,因此作曲家没有可行的方法不下载你的库的一部分。如果您使用--prefer-source,则会检出相关标签,但仍然没有过滤器。

顺便说一下,作曲家会缓存档案下载,所以即使下载很大,它也只会发生一次。

我不确定存档/排除部分,但我的猜测是,这是用于在您下载后生成本地存档,例如:为了满意。