如何减少Silex项目中/ vendor目录的大小

时间:2014-11-17 15:45:11

标签: symfony composer-php silex

我为现有的旅游预订系统创建了一个前端API。为了分发它,我想减少我/ vendor目录的大小。它的总大小为26.4 MB。

这些是/ vendor中的最大目录(大小以KB为单位):

14402   ./symfony
4611    ./swiftmailer
3501    ./doctrine
2032    ./twig
844     ./monolog
826     ./silex
105     ./composer
56      ./pimple
39      ./psr

这是我的composer.json文件:http://pastebin.com/mBi5V0PH。我已经删除了不必要的库,但最大的块是./swiftmailer和./symfony并且增加到超过20MB。

如何将大小减小到大约10MB?

1 个答案:

答案 0 :(得分:2)

不幸的是,实际上没有一种方法可以优化包含的库以进行分发。我建议的唯一优化是分离您的开发依赖项。假设您使用symfony/browser-kitsymfony/css-selector进行测试,可以将其放入require-dev的{​​{1}}部分。

composer.json

然后在压缩发行版之前,使用

运行composer
{
    "require": {
        "doctrine/dbal": ">=2.2.0,<2.4.0-dev",
        "monolog/monolog": ">=1.0.0",
        "php": ">=5.3.2",
        "silex/silex": "~1.2",
        "swiftmailer/swiftmailer": "5.*",
        "symfony/config": "~2.3",
        "symfony/console": "~2.3",
        "symfony/finder": "~2.3",
        "symfony/form": "~2.3",
        "symfony/locale": "~2.3",
        "symfony/translation": "~2.3",
        "symfony/twig-bridge": "~2.3",
        "symfony/validator": "~2.3",
        "symfony/yaml": "~2.3",
        "twig/twig": ">=1.8,<2.0-dev",
        "twig/extensions": "*"
    },
    "require-dev": {
        "symfony/browser-kit": "~2.3",
        "symfony/css-selector": "~2.3"
    }
}