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

时间:2017-02-18 19:38:34

标签: php wordpress composer-php

我有一个composer.json需要twig

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

此twig包安装名为doc的文件夹。

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

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

3 个答案:

答案 0 :(得分:5)

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

之前已经提出过这个问题,每次都回答或类似于它。
以下是一些例子:
How to install specific files from a package using composer.json
How to config composer.json to retrieve specified files only?

更新## [重要!]

似乎只有一种方式某种方式类似于你需要的方式。

有一个选项可以让作曲家友好的项目开发人员可以使用或不使用,而.gitattributes& .gitattributes个文件。
在打包--prefer-dist模式期间,开发人员可以使用/docs export-ignore /tests export-ignore /.gitattributes export-ignore /.gitignore export-ignore /phpunit.xml export-ignore 文件忽略某些文件和文件夹。 ......这样:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

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

这似乎是唯一的方法,这也不是基于代码客户决策和显然是面向生产者 - 开发人员的方法。

但毕竟,您可以在安装所需的依赖项时检查--prefer-dist,他们是否可以使用此选项&你可以得到更轻的版本。

答案 1 :(得分:0)

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

我不认为你可以“缩小”你的依赖。

答案 2 :(得分:0)

简单的anwser 你不能。

Composer安装包的方式是在包存储库中的composer.json中定义的。并且(包)作者决定应该包含什么。这就是这个想法。

作曲家的想法是你在没有供应商目录的情况下分发你的代码,而“客户端”应该在他身边运行作曲家安装。

供应商目录占用大量空间是正常的:/