gpt4 book ai didi

php - Composer : Huge vendor folder

转载 作者:行者123 更新时间:2023-12-03 00:16:26 27 4
gpt4 key购买 nike

我正在尝试 Composer,并且有 RubyGems/Bundler 背景,它确实表现出了一些有趣的行为。

我尝试创建一个新的 Laravel 项目,令我惊讶的是,我发现最终得到的供应商文件夹大小超过 70 MB。

虽然 Laravel 确实提供了很多功能,但我发现其大小很奇怪,因此我检查了供应商文件夹的内容,发现它不仅包含代码,还包含单元测试、文档和整个 git 历史记录。对于 Swiftmailer,我什至找到了针对各种电子邮件标准的冗长的 RFC。

虽然访问依赖项的规范和存储库历史记录很方便,但它确实创建了一个相当耗时的部署过程,并且会在生产服务器上散布不相关的数据。

我确实明白,我可能可以编写一个 artisan 命令来“构建”应用程序,并通过删除所有 git 历史记录来清除依赖项,但这似乎是对可能已经解决的问题的肮脏解决方案。

所以问题是:是否有一种方法来安装 Composer 依赖项,以便只下载运行(Laravel)应用程序实际所需的代码?

更新:使用--prefer-dist

我发现您可以在创建新项目时传递 --prefer-dist 选项,例如

composer create-project laravel/laravel my-new-project --prefer-dist

这使得 Composer 更喜欢压缩发行版,而不是直接从 VCS(例如 GitHub)获取源代码

这将消除 git 历史记录并将供应商文件夹减少到 17 MB。然而,规范、文档,例如仍然包括在内。因此,如果有一种方法可以将其降低到几兆字节,那就太好了。

最佳答案

您可能想看看这个包:

https://github.com/barryvdh/composer-cleanup-plugin

您甚至可以对此进行改进,我不知道它是否也会删除 .git 存储库等。

关于php - Composer : Huge vendor folder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20958982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com