
Composer 当前版本号直接用命令查,不需要进项目目录,也不依赖 composer.json。
查看 Composer 全局安装的版本号
最常用、最可靠的命令就是 composer –version。它会输出类似 Composer version 2.7.7 2024-06-12 15:23:31 的结果。
这个命令在任意路径下都能运行,只要 Composer 在系统 PATH 中如果提示 command not found: composer,说明没装好或没加到环境变量,不是版本问题注意区分 composer –version(查 Composer 自身)和 composer show –platform(查 PHP 或扩展版本)
确认是 v1 还是 v2 —— 为什么这很重要
v1 和 v2 在依赖解析逻辑、锁文件格式、插件兼容性上差异很大,很多 CI 报错或本地行为不一致都源于此。
v2 默认启用 lock file version 2,v1 只认 lock file version 1某些老项目 CI 脚本硬编码了 composer install –no-plugins,v2 下可能被忽略运行 composer –version 时,版本号开头是 2.x 就是 v2;1.x 就是 v1(v1 已于 2022 年 12 月停止维护)
查不到版本?先排除这几个常见卡点
不是所有“查版本失败”都等于没装好,有些是权限或路径干扰导致的假失败。
用了 sudo composer –version:可能导致读取的是 root 用户下的 Composer 配置,和当前用户不一致Mac 上通过 Homebrew 安装但未执行 brew link composer:which composer 返回空,但 brew list composer 显示已装Windows 上同时存在 composer.phar 和全局 composer 命令:优先级混乱,建议删掉重复的,只留一个可执行文件某些 Docker 镜像里把 composer 改名为 composer-stable 或加了 wrapper 脚本:用 ls -l $(which composer) 看真实指向
版本本身不难查,难的是查完发现本地是 v2、CI 是 v1,或者 lock 文件被不同版本反复重写——这时候别急着升级或降级,先看 composer.lock 顶部的 content-hash 和 platform-check 是否匹配当前环境。

评论(0)