--dry-run参数提供无风险预览,运行composer install或update时模拟依赖解析却不修改文件,用于预判更新风险、验证composer.json修改、发现依赖冲突及PHP版本不兼容问题,避免环境破坏;相比仅检查语法的composer validate,--dry-run重在预测操作结果,常用于CI/CD流程中作为安全防线,通过非零退出码中断构建以阻止问题进入生产环境。

composer
--dry-run
composer
vendor
composer.lock
在我看来,
--dry-run
composer
composer install --dry-run
composer update --dry-run
composer
我个人最常用它来:
composer update
composer update --dry-run
v1
v2
composer.json
composer.json
composer install --dry-run
install
composer
--dry-run
composer
composer.json
composer.lock
它本质上是一个“决策辅助”工具,让你在按下“确认”键之前,拥有充分的信息。
--dry-run
composer
依赖冲突和环境破坏是PHP项目开发中常见的痛点,尤其是在多人协作或长期维护的项目中。
--dry-run
当你运行
composer install --dry-run
composer update --dry-run
--dry-run
package-A
lib-X:^1.0
package-B
lib-X:^2.0
我曾经遇到过一个场景,项目在一个旧版本的PHP环境下运行,而我试图引入一个新的库,这个库的某个子依赖要求更高的PHP版本。直接
composer install
vendor
composer install --dry-run
some/package
php:^8.0
7.4.x
它还能有效防止“环境污染”。想象一下,你在开发分支上引入了一个新的功能,需要更新一些依赖。如果你直接
composer update
--dry-run
composer update specific/package --dry-run
composer --dry-run
composer validate
composer --dry-run
composer validate
composer.json
composer validate
composer.json
name
description
^1.0
~2.1
composer
composer.json
validate
composer.json
composer validate
composer --dry-run
composer
install
update
composer.json
composer.lock
composer.json
composer
--dry-run
composer update
composer require new/package
简单来说,
validate
--dry-run
validate
--dry-run
validate
composer.json
--dry-run
--dry-run
在现代的CI/CD(持续集成/持续部署)流程中,
--dry-run
我通常会在CI/CD管道的早期阶段,也就是在真正执行
composer install
composer update
--dry-run
它扮演的角色和提升的安全性体现在:
composer install --dry-run
composer.lock
composer.lock
composer install --dry-run
composer.json
composer.lock
composer.lock
composer.json
json
lock
--dry-run
composer.json
composer.lock
--dry-run
集成方式:
在你的CI/CD配置文件中(例如GitHub Actions, GitLab CI, Jenkinsfile等),可以添加一个专门的步骤:
# 示例:GitHub Actions - name: Check Composer dependencies with --dry-run run: composer install --no-interaction --prefer-dist --dry-run # 如果 --dry-run 发现问题,它会以非零退出码结束,从而使 CI 步骤失败。 # 另一个场景:检查更新 - name: Check for Composer updates with --dry-run run: composer update --no-interaction --prefer-dist --dry-run # 这可以在一个单独的检查步骤中运行,以确保所有依赖都能被更新,但不会实际执行。
这里的关键是
--dry-run
--dry-run
以上就是composer的--dry-run参数在什么场景下使用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号