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

Composer 2 的运行时依赖检查,本质上是在 安装或更新完成后,扫描已安装的包及其 composer.json 中声明的 require(非 require-dev),然后验证这些依赖是否真正在当前 PHP 环境中可加载、可执行。
它检查什么?
不是检查版本号是否匹配(那是安装阶段干的事),而是检查:
- PHP 版本是否满足包要求(例如
"php": "^8.1") - 必需的扩展是否已启用(如
"ext-curl": "*"、"ext-mbstring": "*") - 必需的函数或类是否存在(仅限极少数通过
ext-*或lib-*声明的底层约束,实际较少见) - 某些包显式声明的
conflict是否被当前环境触发(例如冲突的 PHP 版本或扩展)
它在什么时候触发?
默认开启,且发生在两个关键时机:
-
执行
composer install或composer update后,自动运行一次检查 -
运行
composer check-platform-reqs手动触发(这个命令就是专门暴露该机制的)
注意:它不会在每次 require 自动加载时重复检查,只在 Composer 管理生命周期的关键节点校验一次环境兼容性。
它怎么判断“不满足”?
Composer 会读取每个已安装包的 composer.json,提取其 require 下的平台约束(即以 php、ext-、lib- 开头的条目),然后逐条比对当前运行环境:
标签: composer 依赖检查 php js json curl
还木有评论哦,快来抢沙发吧~