使用 --dry-run 选项可模拟 Composer 更新过程,显示将安装、更新或卸载的包及版本变化,但不实际修改文件系统,适用于预览变更、排查问题和验证依赖影响。

当你在使用 Composer 执行更新操作时,加上 --dry-run 选项可以让 Composer 模拟整个更新过程,但不会真正修改项目中的文件或依赖。
显示将要执行的操作
使用 --dry-run 时,Composer 会输出它打算进行的更改,比如:
- 哪些包会被安装、更新或卸载
- 版本号从什么升级到什么
- 是否需要下载新版本或删除旧文件
这有助于你在实际变更前了解影响范围。
不修改文件系统
尽管 Composer 会解析依赖关系、生成新的锁文件(composer.lock)并决定最优方案,但它不会:
- 下载任何新代码
- 删除或替换 vendor 目录中的文件
- 写入 composer.lock 或其他配置文件
所有改动都停留在“计划”阶段。
适合用于验证和调试
这个选项特别适用于以下场景:
- 在生产环境前预览更新影响
- 排查为什么某个包被更新或降级
- 确认自动加载或脚本钩子是否会触发不必要的行为
基本上就这些。--dry-run 是一个安全工具,帮你“先看再做”,避免意外升级带来问题。










