使用 –dry-run 参数可预览 composer 命令变更而不实际执行:1. composer update –dry-run 显示将升级、移除或安装的包;2. composer require –dry-run 预览新增依赖及其依赖树;3. composer remove –dry-run 检查删除包时的影响;结合 -v 可查看详细解析过程,确保变更安全。
注意:不是所有命令都原生支持 –dry-run,但 update、require、remove 在较新版本的 Composer 中已支持该参数。
各命令的 dry-run 使用示例
1. composer update –dry-run
查看运行更新后会升级哪些包:
composer update --dry-run
输出示例:
Loading composer repositories with package information Updating dependencies Lock file operations: - Upgrade monolog/monolog (2.3.0 => 2.4.0) - Remove symfony/debug (v4.4.0) - Install symfony/error-handler (v5.4.0) Writing lock file Generating autoload files
以上操作不会真正执行,lock 文件和 vendor 不会被改动。
2. composer require –dry-run
预览添加新依赖的影响:
composer require doctrine/orm --dry-run
你会看到将要安装的包及其依赖树,Composer 也会提示是否存在版本冲突风险,而不会实际写入 composer.json 或安装文件。
3. composer remove –dry-run
检查删除某个包会发生什么:
composer remove phpunit/phpunit --dry-run
输出可能包括:
Removing package phpunit/phpunit and its dependencies Dependencies to remove: sebastian/diff, phpunit/php-code-coverage, ...
这样你可以判断是否误删了仍被需要的组件。
结合 –verbose 获取更详细信息
使用 -v 或 -vvv 可让 dry-run 输出更详细的依赖解析过程:
composer update monolog/monolog --dry-run -vvv
有助于排查为什么某个包被升级、降级或未更新。
基本上就这些。使用 --dry-run 是保障项目稳定的好习惯,尤其在生产环境变更前进行预演。
以上就是Composer的 “dry-run” 参数如何用于所有修改性命令_安全预览 “update”, “require”, “remove” 的执行结果的详细内容,更多请关注php中文网其它相关文章!