我如何告诉作曲家安装最小文件



我有一个composer.json需要twig

"require": {
        "twig/twig": "~1.0",
        ...
}

此树枝软件包安装了一个名为doc的文件夹。

基本上,我的vendor文件夹变得太大了,尤其是因为我用它分发了项目(这是WordPress插件)。

是否有一种方法告诉作曲家仅包括"缩小"或至少数量的文件,而不是诸如文档,测试等之类的内容?

您不能,因为您(作为依赖性客户端)没有资格对做出决定的决定。取决于他!只需在没有依赖性文件的情况下提供您的项目,而是包含Composer.json。

以前曾问过这个问题,每次都带有与之相似的答案 no 或STH。
这里有一些例子:
如何使用composer.json
从软件包中安装特定文件如何配置Composer.json仅检索指定的文件?


更新## [exigantes!]

似乎只有一种方式与您需要的相似。

有一个选项可以使作曲家友好的项目开发人员可能或可能不会使用,这是--prefer-dist&.gitattributes文件。
开发人员可以使用.gitattributes文件在包装期间忽略一些文件和文件夹,以获取 - 急速模式。这样的STH:

/docs               export-ignore
/tests              export-ignore
/.gitattributes     export-ignore
/.gitignore         export-ignore
/phpunit.xml        export-ignore

然后在提供依赖项的同时,Packagist使用这些.zip文件在GitHub中制作的ZIP文件来拉动 - prefer-dist依赖关系,然后下载后的Unarchives(比克隆要快得多)。因此,如果开发人员忽略了测试,文档和其他逻辑上无关的文件来列出它们。

看来,这是唯一的方法,这再次不是基于代码 - 网状决策&显然是一种以生产者为导向的方法。

,但毕竟,您可以在安装所需的依赖性时检查 - 急需,他们可以使此选项可用&您可以获得更轻的版本。

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

我不认为您可以"缩小"您的依赖项。

简单的anwser是您不能。

Composer安装软件包以包装库中的Composer.json中定义的方式。(包装)作者决定应该有什么。这就是这里的想法。

作曲家的想法是,您在没有供应商的情况下分发代码,"客户"应该在他的身边运行作曲家安装。

供应商dir有很多空间是正常的:/

最新更新