如何清理 Composer vendor 目录中不必要的文件(如文档、测试)来减小项目体积?

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

如何清理 Composer vendor 目录中不必要的文件(如文档、测试)来减小项目体积?-第1张图片-佛山资讯网

可以配置 Composer 的 archive 选项或使用插件,在安装/更新时自动剔除文档、测试、Git 目录等非运行必需文件,从而显著减小 vendor 体积。

启用 Composer 内置的 archive 配置

在项目根目录的 composer.json 中添加 archive 配置,控制从包中排除哪些路径:

  • 支持通配符,如 "exclude": ["/tests", "/Tests", "/docs", "/Docs", "/.*", "/phpunit.xml", "/CHANGELOG.*"]
  • 该配置仅对从 Packagist 下载的 zip 包生效(即 "dist" 源),对 "source"(git clone)无效
  • 修改后需重新执行 composer installcomposer update 才会生效

使用 composer-cleaner 插件(推荐)

这是一个轻量、专注清理的第三方插件,能自动删除常见冗余内容:

  • 安装:composer require --dev dealerdirect/composer-cleaner
  • 它默认清理:.git.githubtestsTestsdocsExamplesphpunit.xmlCHANGELOGCONTRIBUTING.md
  • 支持自定义规则,在 composer.json 中加 "cleaner-exclude" 字段即可扩展
  • 清理动作在 post-autoload-dump 阶段自动触发,无需手动调用

配合部署脚本做二次精简(生产环境适用)

在 CI/CD 或部署流程中,可追加安全清理步骤:

标签: composer vendor目录 php js git json github 开发环境

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~