composer show 命令可列出包的所有可用版本,加 -a 参数强制刷新远程信息获取最新版本,配合 --format=json 或 grep 等可提取纯净版本号,指定版本号还能查看其完整元数据。

直接运行 composer show 加上包名,就能列出该包所有已知的可用版本,包括稳定版、预发布版(如 alpha、beta、rc)和开发分支(如 dev-main)。
基础用法:列出所有版本
执行以下命令:
composer show vendor/package-name
例如查看 monolog/monolog 的所有版本:
composer show monolog/monolog
输出中会包含“versions”字段,显示类似 3.5.0, 3.4.0, 3.3.0, 2.9.0, dev-main, dev-3.x 这样的列表。注意:默认只显示 Packagist 上已缓存或已安装过的版本,不是实时抓取全部历史 tag。
强制刷新远程信息(获取最新版本)
如果发现新发布的版本没出现在 show 结果里,说明本地缓存滞后。加上 -a(--all)参数可跳过缓存,直接查询 Packagist API:
composer show -a monolog/monolog- 首次使用时可能稍慢,但能确保看到最新 release 和分支
- 需要网络通畅,且 Packagist 未被屏蔽
只看版本号,不看其他信息
加 --no-ansi 和 --quiet 仍不够简洁。更高效的方式是结合 --format=json 提取版本字段:
composer show -a --format=json monolog/monolog | jq -r '.versions | join("\n")'
如果没有 jq,可用原生命令粗略提取:
composer show -a monolog/monolog | grep "versions" | cut -d: -f2 | tr ',' '\n' | sed 's/^[[:space:]]*//; s/[[:space:]]*$//'
查看某个版本的具体内容(依赖、autoload 等)
指定版本号后,show 会显示该版本的完整元数据:
-
composer show monolog/monolog 3.5.0—— 查看 v3.5.0 的 require、autoload、type 等 -
composer show monolog/monolog dev-main—— 查看最新开发分支结构 - 这对调试兼容性或验证 autoload 配置很有用
基本上就这些。不需要额外插件,Composer 自带的 show 命令配合 -a 和格式化工具,就能满足绝大多数版本探查需求。










