10

在 packagist.org 上一个 PHP 库。我想从包中排除某些文件(例如几个 JAR 和我的测试),所以依赖我的库的人不必下载它们。

我在 composer.json 中添加了以下内容:

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

不过,这似乎并没有改变下载依赖项的内容。

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

4

1 回答 1

3

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

顺便说一句,composer 会缓存存档下载,因此即使下载量很大,也应该只发生一次。

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

于 2013-12-01T21:11:26.250 回答