我刚刚学习了作曲家,并准备在一个更大的项目中首次使用它。我遇到的一个问题是:我的项目实际上大约是24,5MB,其中24个来自我的供应商目录。
据我所知,在供应商中包含的大多数库中,composer还提供文档文件,测试等。是否有一种自动化的方法可以省去所有这些?我只想将许可证和真正需要的源文件打包到最终版本中。
非常感谢! : - )
答案 0 :(得分:5)
Composer提供的最明显的选项是使用--no-dev
选项运行安装步骤,以省略任何require-dev
的内容,即PHPUnit的副本和其他专门用于开发的内容。
唯一的另一个选择是使用--prefer-dist
下载包含软件版本的ZIP文件,而不是从源存储库中克隆它。
除了Composer不影响下载和包含软件的包装外,它只是下载ZIP文件(可能是原始存储库的简化副本),或克隆它(这是最大的变体)全部)。
如果您已经安装了没有任何建议的命令行选项的软件包,那么最好完全删除供应商目录并运行另一个composer update --prefer-dist
以删除任何克隆的存储库并将其替换为下载的版本。
请注意,不建议使用dev-master
等开发版本或允许通过minimum-stability:dev
使用dev-stable软件包。它通常会导致克隆存储库。
答案 1 :(得分:1)
虽然一年多前我问过这个问题,但对我来说仍然是最新的。只想发布我最终使用的解决方案。
我发现了一个名为'altax'的非常酷的项目 - > http://kohkimakimoto.github.io/altax/。它允许我集成我在完全可控的部署过程中所需的所有步骤。
我的最终部署命令将首先更新所有供应商,然后运行phpunit以确保。如果一切顺利,它会完全复制当前项目并省去所有无用的东西(如.git,doc文件夹,测试等)。这使我的项目从25缩小到2.4 MB。
为了完成任务,它将构建并捆绑文档并创建两个版本 - 一个已压缩并准备放入更新通道,另一个将用于销售。
最重要的是,我自己使用一些简单的工具编写了部署,并且可以完全控制它的功能。