答案:通过配置post-install-cmd脚本和使用–no-dev等部署选项可自动清理Composer依赖中的测试、文档等冗余文件。具体包括在composer.json中添加find命令删除tests、docs等目录,结合–prefer-dist和–optimize-autoloader优化安装,适用于Linux/macOS环境,Windows需适配命令,还可通过CI/CD流程构建精简部署包。

Composer 本身不会自动删除开发用文件(如测试代码、文档、示例等),但你可以通过配置和插件来实现安装后自动清理这些不必要的资源。
使用 composer-unused 或自定义脚本清理冗余文件
虽然没有内置选项直接删除 vendor 中的 tests、docs 等目录,但可以通过 post-install-cmd 脚本在安装完成后自动清除常见无用路径。
在 composer.json 中添加如下脚本:
"scripts": { "post-install-cmd": [ "find vendor/*/* -type d \( -name 'tests' -o -name 'Tests' -o -name 'test' -o -name 'doc' -o -name 'docs' -o -name 'example' -o -name 'examples' -o -name '.github' \) -exec rm -rf {} + || true", "find vendor/* -type d -name '.git' -exec rm -rf {} + || true" ]}
说明:
该命令会查找 vendor 目录下所有包中的 tests、docs、examples 等目录并删除。|| true 避免因某些目录不存在导致报错中断安装。适用于 Linux/macOS 环境;Windows 需使用 PowerShell 或 Git Bash 执行类似逻辑。
使用 hirak/prestissimo 提升安装速度(可选)
虽然不直接清理文件,但并行下载能加快依赖获取。安装后仍需配合脚本清理:
如知AI笔记
如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型
27 查看详情
composer global require hirak/prestissimo
生产环境建议:使用 –prefer-dist 和 –no-dev
部署时应确保使用以下命令减少开发内容:
composer install --no-dev --prefer-dist --optimize-autoloader
--no-dev:跳过 require-dev 中的包(如 phpunit、phpstan 等)。--prefer-dist:优先使用压缩包而非源码克隆,通常不含完整历史记录。--optimize-autoloader:优化类加载性能。
更高级方案:构建自定义部署包
若对体积敏感(如 Serverless 部署),建议在 CI/CD 流程中执行完整清理,并打包精简后的 vendor:
运行 composer install --no-dev。执行 find 删除指定目录。打包上传结果。
基本上就这些方法,结合脚本和部署策略可以有效去除大部分冗余文件。关键是根据项目实际需求选择合适的清理层级。
以上就是如何配置Composer在安装后清理不必要的开发文件(如测试、文档)?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/571768.html
微信扫一扫
支付宝扫一扫