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

Composer 本身不会自动删除开发用文件(如测试代码、文档、示例等),但你可以通过配置和插件来实现安装后自动清理这些不必要的资源。
虽然没有内置选项直接删除 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"
]
}
说明:
tests、docs、examples 等目录并删除。|| true 避免因某些目录不存在导致报错中断安装。虽然不直接清理文件,但并行下载能加快依赖获取。安装后仍需配合脚本清理:
composer global require hirak/prestissimo
部署时应确保使用以下命令减少开发内容:
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。基本上就这些方法,结合脚本和部署策略可以有效去除大部分冗余文件。关键是根据项目实际需求选择合适的清理层级。
以上就是如何配置Composer在安装后清理不必要的开发文件(如测试、文档)?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号