如何告诉作曲家安装最少的文件

Gez*_*zim 7 php wordpress composer-php

我有一个composer.json要求twig:

"require": {
        "twig/twig": "~1.0",
        ...
}
Run Code Online (Sandbox Code Playgroud)

这个twig包安装了一个名为的文件夹doc.

基本上,我的vendor文件夹太大了,特别是因为我用它分发我的项目(它是一个WordPress插件).

有没有办法告诉作曲家只包括"缩小"或至少最少量的文件,而不是文档,测试等等?

Beh*_*yar 5

您不能,因为您(作为依赖客户端)没有资格决定您的依赖应该如何行动.由他决定!只需提供没有依赖文件的项目,而不是包含composer.json.

之前已经问过这个问题,每次都回答No或者类似的问题.
以下是一些示例:
如何使用composer.json从包安装特定文件
如何配置composer.json仅检索指定的文件?


更新## [重要!]

似乎只有一种方式与你需要的方式相似.

有一个选项,作曲家友好的项目开发人员可能会或可能不会使用,它--prefer-dist.gitattributes文件的一个棘手的游戏.在打包--prefer-dist模式期间
,开发人员可以使用.gitattributes文件忽略某些文件和文件夹.......这样:

/docs               export-ignore
/tests              export-ignore
/.gitattributes     export-ignore
/.gitignore         export-ignore
/phpunit.xml        export-ignore
Run Code Online (Sandbox Code Playgroud)

然后在提供依赖关系的同时,Packagist使用github中生成的这些.zip文件来引入--prefer-dist依赖关系,然后在下载后解压缩它们(比克隆速度快得多).因此,如果开发人员通过在.gitattributes中列出它们而忽略测试,文档和其他逻辑上不相关的文件,则归档将不包含它们,变得更轻,更轻.

这似乎是唯一的方法,它再次不是基于代码 - 客户端的决定,显然是一个生产者 - 面向开发人员的方法.

但毕竟,您可以在安装所需的依赖项时检查--prefer-dist,可能他们已经提供了此选项,您可以获得更轻的版本.


Ren*_*hle 0

我不知道我是否正确理解了你的问题。但是,如果您构建一个插件,则不会提供供应商文件夹,而是将依赖项写入您的composer.json文件中,并且想要使用您的插件的用户会在其供应商文件夹中下载该源作为您的插件所需的依赖项。

我不认为你可以“减少”你的依赖。