如何最小化composer下载的大小


How to minimize size of composer download?

我正在使用composer下载两个包,如下所示:

{
    "require": {
        "propel/propel1": "1.6.9",
        "smarty/smarty": "v3.1.14"
    }
}

例如,现在这个smarty包正在加载整个svn存储库(不仅仅是文件),并且只有.svn文件夹的重量为12MB。它还加载文档和一堆其他文件,这些文件在开发中可能很有用,但无权成为生产环境的一部分。

我的问题是,有没有一种方法可以只使用运行应用程序所需的库文件来安装软件包?

我在composer文档中看到了一个片段,对于最新的3.1.14版本,它的工作和下载ZIP文件的速度非常快:

{
    "require": {
        "smarty/smarty" : "3.1.14"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "smarty/smarty",
                "version": "3.1.14",
                "dist": {
                    "url": "http://www.smarty.net/files/Smarty-3.1.14.zip",
                    "type": "zip"
                },
                "source": {
                    "url": "http://smarty-php.googlecode.com/svn/",
                    "type": "svn",
                    "reference": "tags/Smarty_3_1_14/distribution/"
                }
            }
        }
    ]
}

不幸的是,Smarty似乎没有维护这些信息,所以在更新它时你可以自己操作,但我认为,如果你稍微调整一下路径,并可能将--prefer-dist添加到你的composer安装调用中,它应该可以让你从讨厌的SVN下载切换到获得发布的ZIP文件分发。