可配置 Composer 的 archive 选项或使用 composer-cleaner 插件自动剔除非运行必需文件以减小 vendor 体积;archive 配置仅对 dist 包生效,插件支持自定义清理规则并自动触发,配合部署脚本可进一步精简,最终缩减 30%~60% 体积。

可以配置 Composer 的 archive 选项或使用插件,在安装/更新时自动剔除文档、测试、Git 目录等非运行必需文件,从而显著减小 vendor 体积。
启用 Composer 内置的 archive 配置
在项目根目录的 composer.json 中添加 archive 配置,控制从包中排除哪些路径:
- 支持通配符,如
"exclude": ["/tests", "/Tests", "/docs", "/Docs", "/.*", "/phpunit.xml", "/CHANGELOG.*"] - 该配置仅对从 Packagist 下载的 zip 包生效(即
"dist"源),对"source"(git clone)无效 - 修改后需重新执行
composer install或composer update才会生效
使用 composer-cleaner 插件(推荐)
这是一个轻量、专注清理的第三方插件,能自动删除常见冗余内容:
- 安装:
composer require --dev dealerdirect/composer-cleaner - 它默认清理:
.git、.github、tests、Tests、docs、Examples、phpunit.xml、CHANGELOG、CONTRIBUTING.md等 - 支持自定义规则,在
composer.json中加"cleaner-exclude"字段即可扩展 - 清理动作在
post-autoload-dump阶段自动触发,无需手动调用
配合部署脚本做二次精简(生产环境适用)
在 CI/CD 或部署流程中,可追加安全清理步骤:
标签: composer vendor目录 php js git json github 开发环境
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~