新闻中心
如何清理 Composer vendor 目录中不必要的文件(如文档、测试)来减小项目体积?
可配置 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 或部署流程中,可追加安全清理步骤:
拾贝
一键同步微信读书所有笔记和划线,并在新标签页回顾
186
查看详情
- 删除所有
.md、.txt、.rst文档文件:find vendor/ -name "*.md" -delete - 移除 PHP 测试相关目录和文件:
find vendor/ -path "*/tests" -o -path "*/Tests" -o -name "*Test.php" -o -name "phpunit.xml*" | xargs rm -rf - 注意:避免误删
vendor/autoload.php或vendor/composer目录
验证清理效果与注意事项
清理后建议快速检查是否影响功能:
- 运行
composer dump-autoload确保自动加载正常 - 执行关键业务逻辑或单元测试(如果有的话),确认无类找不到错误
- 不建议在开发环境激进清理,因为 IDE 跳转、调试、阅读源码可能依赖文档和测试示例
- 若某包因清理导致异常,可在
composer.json中用"preserve-paths"单独保留其特定目录
基本上就这些。合理配置 + 插件辅助,能让 vendor 缩减 30%~60% 体积,尤其对大型项目效果明显,又不破坏运行稳定性。
以上就是如何清理 Composer vendor 目录中不必要的文件(如文档、测试)来减小项目体积?的详细内容,更多请关注php中文网其它相关文章!
# vendor目录
# composer
# 文档
# 开发环境
# github
# json
# git
# js
# php
# 鸭脖营销推广目标
# 网站优化工作职责
# 东莞网站品牌推广
# 怎么利用网络营销推广
# 盘龙区seo联系电话
# 广州抖音推广营销培训班
# 今日头条关键词排名查看
# 海北网站建设和优化
# 乐陵网络推广seo优化
# 宾馆网站建设
# 如何在
# 加载
# 仅对
# 如何正确
# 旧版
# 目录中
# 有什么区别
# 自定义
# 拾贝
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
12306怎么选座位选到安静区_12306选座安静区域选择策略
C++指针和引用有什么区别_C++内存管理核心概念深度解析
蛙漫画网页版全站入口 蛙漫热门作品免费浏览
浏览器打开即用 美图秀秀网页版入口
mysql备份恢复性能优化_mysql备份恢复性能优化方法
Tabulator表格中精确实现日期时间排序的指南
钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧
React中useState与局部变量:理解组件状态管理与渲染机制
利用Bokeh CustomJS动态控制DataTable列可见性
PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract
Python vgamepad库按键模拟:正确使用XUSB_BUTTON常量
必由学官网快捷入口 必由学网页版在线学习平台
Win10双系统截图高效法 截屏快捷键速记【技巧】
在哪找SublimeJ远程工具_SFTP插件配置教程
汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口
顺丰国际快递查询 国际件官方查询入口
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
必由学官网首页入口 必由学教师网页版登录指南
Python多版本共存与虚拟环境管理深度指南
php源码怎么看淘宝客系统_看php源码淘宝客系统技巧
1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】
mc.js免安装版 mc.js一键畅玩入口
冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法
深入理解Go语言中Map值与方法接收器的交互:为什么需要临时变量
J*a最大堆Heapify方法修复:索引计算与边界条件深度解析
Android Studio计算器C键功能异常排查与修复教程
快手赚钱渠道_快手收益来源
Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置
Win11如何开启讲述人功能 Win11屏幕阅读器(讲述人)开启与关闭【教程】
如何使用Go和Martini动态服务解码后的图片
Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】
Python多线程中正确使用sigwait处理SIGALRM信号
Angular响应式表单:实现提交后表单及按钮的禁用与只读化
C++如何实现单例模式_C++设计模式之线程安全的单例写法
Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧
解决Flask中Quill编辑器内容提交失败及TypeError的指南
必由学在线入口 必由学网页版快速登录入口
qq游戏手机版下载安装_qq游戏移动端入口
解决macOS上安装pyhdf时‘hdf.h’文件缺失的编译错误
Django通过AJAX异步上传图片并保存至模型的完整指南
2025-2030年全球乘用车销量预测:新能源成增长主力
基于动态规划的房屋花卉种植最小成本算法详解
MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具
c++如何使用折叠表达式(Fold Expressions)_c++17可变参数模板新技巧
手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析
cad如何更改注释性对象的比例_cad注释性比例调整方法
手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议
如何在低配置电脑上搭建轻量级J*a环境_占用更小的环境选择技巧
Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理
python3时间如何用calendar输出?


2025-12-13
浏览次数:次
返回列表