Composer 2 中的运行时(runtime)依赖检查是如何工作的?

admin 百科 16
Composer 2 的运行时依赖检查是在安装或更新后,验证已装包的 PHP 版本、扩展、函数/类及 conflict 是否满足当前环境;默认在 install/update 后及执行 check-platform-reqs 时触发,可通过参数或 config 配置控制。

Composer 2 中的运行时(runtime)依赖检查是如何工作的?-第1张图片-佛山资讯网

Composer 2 的运行时依赖检查,本质上是在 安装或更新完成后,扫描已安装的包及其 composer.json 中声明的 require(非 require-dev),然后验证这些依赖是否真正在当前 PHP 环境中可加载、可执行。

它检查什么?

不是检查版本号是否匹配(那是安装阶段干的事),而是检查:

  • PHP 版本是否满足包要求(例如 "php": "^8.1"
  • 必需的扩展是否已启用(如 "ext-curl": "*""ext-mbstring": "*"
  • 必需的函数或类是否存在(仅限极少数通过 ext-*lib-* 声明的底层约束,实际较少见)
  • 某些包显式声明的 conflict 是否被当前环境触发(例如冲突的 PHP 版本或扩展)

它在什么时候触发?

默认开启,且发生在两个关键时机:

  • 执行 composer installcomposer update 后,自动运行一次检查
  • 运行 composer check-platform-reqs 手动触发(这个命令就是专门暴露该机制的)

注意:它不会在每次 require 自动加载时重复检查,只在 Composer 管理生命周期的关键节点校验一次环境兼容性。

它怎么判断“不满足”?

Composer 会读取每个已安装包的 composer.json,提取其 require 下的平台约束(即以 phpext-lib- 开头的条目),然后逐条比对当前运行环境:

标签: composer 依赖检查 php js json curl

发布评论 0条评论)

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