--dry-run 的真实作用是“只计算、不执行”,它完整解析依赖、检查版本与平台约束、触发插件钩子并模拟 autoloader 构建,但跳过所有磁盘写入操作。

不能真正“预加载”依赖,但可以用 composer install --dry-run 模拟安装过程,提前看到 Composer 会做什么——包括下载哪些包、解析哪些版本、生成哪些 autoloader 映射,而完全不改动 vendor 目录或 composer.lock。
--dry-run 不是预加载,而是“只计算、不执行”。它会完整走通 Composer 的依赖解析、版本锁定检查、插件钩子触发(如 autoload 生成逻辑),但跳过所有写磁盘操作:不下载 zip、不解压、不写 vendor/、不改 composer.lock、不生成 autoload_static.php。
虽然不生成真实 autoload 文件,但 Composer 会在 dry-run 过程中模拟 autoloader 构建逻辑。配合 -v(verbose)可看到 PSR-4/PSR-0 映射推导结果:
composer install --dry-run -v | grep "autoload"
这能帮你确认:某类是否被正确映射到 vendor 包路径,或自定义 autoload 规则是否生效——无需等 install 完再测 class not found。
若目标是让某些类提前可用(比如测试环境快速启动),可结合以下方式:
composer dump-autoload --classmap-authoritative 提前生成高效 classmap(需确保无动态 require)composer install --no-scripts,再手动触发关键 autoload 更新composer install --dry-run && composer install --prefer-dist --no-progress,把验证和执行拆开,避免失败时污染环境--dry-run 不等于“安全模式”——它仍会读取 composer.json/composer.lock、触发插件的 pre-install-cmd 钩子(如果插件没判断 dry-run 状态,可能意外执行副作用)。
$event->isDryRun()
composer update --dry-run:后者用于预览依赖升级,前者仅针对 lock 文件已有内容的安装模拟以上就是如何在不执行composer install的情况下预加载依赖?(--dry-run妙用)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号