如何在不执行composer install的情况下预加载依赖?(--dry-run妙用)

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

如何在不执行composer install的情况下预加载依赖?(--dry-run妙用)-第1张图片-佛山资讯网

不能真正“预加载”依赖,但可以用 composer install --dry-run 模拟安装过程,提前看到 Composer 会做什么——包括下载哪些包、解析哪些版本、生成哪些 autoloader 映射,而完全不改动 vendor 目录或 composer.lock。

什么是 --dry-run 的真实作用

--dry-run 不是预加载,而是“只计算、不执行”。它会完整走通 Composer 的依赖解析、版本锁定检查、插件钩子触发(如 autoload 生成逻辑),但跳过所有写磁盘操作:不下载 zip、不解压、不写 vendor/、不改 composer.lock、不生成 autoload_static.php。

  • 适合 CI 环境做“安装可行性验证”,比如确认 lock 文件与当前 PHP 版本/平台约束兼容
  • 能提前发现冲突(如 require 了两个互斥版本)、缺失平台扩展(如 ext-gd 被 require 但未启用)
  • 输出里会列出“将安装”“将更新”“将跳过”的包,和真实 install 几乎一致

如何用 --dry-run 辅助 autoload 分析

虽然不生成真实 autoload 文件,但 Composer 会在 dry-run 过程中模拟 autoloader 构建逻辑。配合 -v(verbose)可看到 PSR-4/PSR-0 映射推导结果:

composer install --dry-run -v | grep "autoload"

登录后复制

这能帮你确认:某类是否被正确映射到 vendor 包路径,或自定义 autoload 规则是否生效——无需等 install 完再测 class not found。

标签: php js json composer 解压

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~