Composer怎么查看版本号 Composer怎么检测是否安装成功【检查】

2次阅读

Composer怎么查看版本号 Composer怎么检测是否安装成功【检查】

直接运行 composer --version 就能确认是否装好

这是最快速、最权威的判断方式——只要终端里能打出类似 Composer version 2.7.7 的输出,就说明 Composer 已正确安装并可全局调用。

常见错误现象:command not found'composer' is not recognized as an internal or external command。这不代表 Composer 没下载,而是没进系统 PATH,或 windows 下没配对 PHP 路径。

  • linux/macos:检查 /usr/local/bin/composer 是否存在,且文件有执行权限(ls -l /usr/local/bin/composer
  • Windows:确认安装时指定的 php.exe 路径正确;若用局部方式,必须每次用 php composer.phar --version,不能只输 composer
  • 别被 php -v 欺骗:PHP 装好了 ≠ Composer 装好了,两者完全独立

composer diagnose 不是“安装检测”,而是“运行环境体检”

composer diagnose 不会告诉你“有没有装上”,它只回答“现在能不能安全跑 install/update”。哪怕结果全是 OK,也完全可能 composer install 报错。

典型脱节场景:

  • 显示 Checking platform settings: OK,但实际缺 ext-redis——diagnose 只查 PHP 自带扩展(如 jsonopenssl),不查你项目 require 的扩展
  • https connectivity to packagist: OK 成功,但私有仓库地址写错或 Token 过期——diagnose 根本不访问你配置的 repositories
  • platform 配置伪造了 PHP 8.2,真实环境却是 8.1——diagnose 不校验这个“谎言”是否成立

所以别把它当安装验证工具,它是上线前或 CI 中排查环境兼容性的辅助手段。

想看某个包用了哪个版本?composer show 是唯一靠谱命令

composer show 默认列出所有已安装包的名称和当前版本,不查 composer.json 声明,只读 vendor/composer.lock 的真实状态。

实操建议:

  • 查具体包:composer show monolog/monolog —— 输出含版本、依赖、源类型(git/dist)、安装路径
  • 只取版本号(脚本可用):composer show monolog/monolog --format=json | php -r "echo json_decode(file_get_contents('php://stdin'))->version;"
  • 看全部可用版本(含未安装的):composer show -a monolog/monolog,注意加 -a 才会刷新远程元数据,否则可能滞后

别打开 composer.lock 手动搜——格式易错、reference 和 version 可能不一致,且 dev 分支没记录在 lock 里。

镜像配置错了,--versiondiagnose 都不会报

设置国内镜像(如阿里云 https://mirrors.aliyun.com/composer/)只是影响后续 install 速度,跟安装成功与否、版本号显示、环境诊断完全无关。

容易踩的坑:

  • 误用已停服的镜像(如旧版 https://packagist.phpcomposer.com):不会让 composer --version 失败,但首次 require 时直接卡死或 404
  • 全局配置(config -g)和项目级配置混用:项目里 composer.jsonrepositories 会覆盖全局镜像,此时 diagnose 仍显示 OK,但行为已变
  • 镜像仅加速下载,不解决证书、代理、DNS 等底层网络问题——这些 diagnose 里的 https connectivity 项也测不出来

真正要验证镜像是否生效,得跑一次 composer show -acomposer require,看请求 URL 是不是指向你设的域名。

text=ZqhQzanResources