composer update –dry-run 用于模拟依赖更新过程,预览将安装或升级的包而不实际修改文件。它分析 composer.json 中的版本规则,显示如“将从 v1.2.0 升级到 v1.4.0”等变更提示,并检查对 composer.lock 和 vendor 目录的影响。可用于团队协作前评估变更、CI/CD 判断更新必要性、避免破坏性升级及调试版本冲突。结合 -v 可查看详细解析日志,配合 composer depends 进一步分析依赖关系,安全预测 update 的实际效果。

composer update –dry-run 命令用于模拟执行依赖包的更新过程,不会真正修改项目的依赖文件或下载/更新任何包。它能让你在实际运行更新前,预览 Composer 将要进行的操作。
查看将要安装或升级的包
使用 –dry-run 模式时,Composer 会像正常执行 update 一样分析 composer.json 文件中的依赖版本规则,并计算出最新的匹配版本。但它不会真正去下载或替换文件。
例如:
- 某个包当前是 v1.2.0,配置允许升级到 v1.5.0,而最新版本是 v1.4.0,Composer 会显示“将从 v1.2.0 升级到 v1.4.0”
- 如果某个新包被新增到
composer.json,它会提示“将安装 new/package”
检查对 composer.lock 和 vendor 目录的影响
该命令帮助开发者确认 composer.lock 文件是否会改变,以及哪些依赖会被重新锁定。由于不实际写入文件,你可以安全地测试不同场景下的依赖解析结果。
常见用途包括:
- 团队协作前预览更新影响
- CI/CD 流程中判断是否需要执行真实更新
- 避免意外升级破坏现有功能
辅助调试版本冲突问题
当多个依赖之间存在版本约束冲突时,–dry-run 能配合其他选项(如 -v 输出详细信息)展示解析过程,帮助定位为何某些包无法升级或安装。
提示:
- 加上
-v或-vvv可查看更详细的依赖解析日志 - 结合
composer depends package/name可进一步分析依赖关系
基本上就这些。这个命令不改变项目状态,但能清楚告诉你“如果现在运行 update,会发生什么”。


