假设我想要一个包含作曲家的包,但该包有一些我认为不应该包含的目录。例如。也许是tests/
目录或其他什么。有没有办法从作曲家下载的内容中省略这个目录?
有--prefer-dist
标志但需要repos的.gitattributes
文件与export-ignore
一起存在于各种文件/目录中。但是,如果有问题的回购没有那个呢?当然,我可以提出拉动请求,但如果他们不接受呢?如果项目被放弃怎么办?由于这些原因,我认为--prefer-dist
标志不是最理想的,除了“使用--prefer-dist
”之外,我想要一个答案(如果存在的话)。
答案 0 :(得分:2)
Symfony试图这样做,他们的经验使他们revert this decision。 Composer提供了有关在文档中使用.gitattributes
的信息,但removed it。
实质上,从不同的分发路径中删除某个包的某个部分可能会导致比它解决的问题更多的问题。从我的角度来看,CLI开关--prefer-dist
和--prefer-source
是一个选择器,要么必须克隆需要很长时间的大型存储库,要么下载具有该确切版本的ZIP - 但结果应该相同,即我我不应该强迫所有依赖项--prefer-source
,因为一个决定“优化部署”的程序包决定从ZIP中删除文档和测试。
是的,在开发过程中,我通常会查看他们的代码和测试,以帮助我了解正在发生的事情 - 或者应该继续发生什么,而不是。
结论:Composer不是一个部署工具。如果你关心你的应用程序的大小,你的任务就是删除你不需要或不想要的东西,也可以优化其他东西(缩小JS和CSS,优化图像等)。它不应该是Composers或任何软件包维护者的任务来为您做这个优化。