最可靠方式是运行composer show -a vendor/package-name,它强制查询Packagist API获取全部版本(含dev/beta/rc等),而仅用composer show默认只显示已安装或缓存版本。

用 composer show 查看包的全部版本列表
直接运行 composer show -a vendor/package-name 是最可靠的方式。加 -a(--all)参数会强制列出所有已知版本,包括带 -dev、-beta、-rc 后缀的预发布版,不只显示稳定版。
常见错误是漏掉 -a:只跑 composer show vendor/package-name 默认只显示当前已安装版本或最新稳定版,根本看不到历史版本或 alpha 版本。
- 必须确保当前目录下有
composer.json(哪怕为空),否则会报错Could not find a composer.json file - 如果包从未被 require 过,也不影响使用
-a查版本,Composer 会远程查 Packagist 元数据 - 响应速度取决于 Packagist 响应和本地缓存状态;首次执行可能稍慢,后续会快很多
通过 Packagist 网页手动查更全的版本信息
命令行有时会因缓存或网络问题漏掉极老或已废弃的版本。打开 https://packagist.org/packages/vendor/package-name 页面,向下滚动到 “Versions” 区域,能看到按时间倒序排列的全部标签,包括已标记为 abandoned 的版本。
这里能看清每个版本的发布时间、是否 stable / RC / dev、是否被弃用,甚至点开单个版本还能看到它依赖的 PHP 和其他包版本范围 —— 这些细节 composer show -a 不提供。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 注意区分
dev-main和dev-master:前者是 Composer 2.2+ 推荐的默认开发分支名,后者在新项目中可能已不可用 - 某些私有包不会出现在 Packagist,此时只能靠
composer show -a或私有仓库的 Web UI 查
用 composer search 辅助确认包名是否正确
输错 vendor 或 package 名会导致 composer show 报 Package vendor/package-name not found。先执行 composer search keyword 快速验证是否存在拼写相近的包。
比如想查 monolog 却打成 monolg,search 会返回 monolog/monolog 和相关扩展包,帮你快速纠偏。
-
composer search不支持通配符,但支持空格分词,例如composer search laravel cache可同时匹配含这两个词的包 - 搜索结果不包含版本信息,仅用于校验名称和发现替代方案
为什么 composer outdated 不适合查所有版本
composer outdated 只列出当前 composer.lock 中已安装、且有更新可用的包,而且默认只显示“可升级到的最新稳定版”,完全不展示历史版本、RC 版或降级选项。
如果你的目标是评估兼容性(比如测试能否回退到 v2.8.0)、或排查某次升级引发的问题,它提供的信息远远不够。
- 加
--all参数能让它显示所有已安装包(包括无更新的),但依然只对比当前锁文件版本与最新稳定版,不是全量版本列表 - 它依赖
composer.lock,没有 lock 文件就无法运行 - 不显示已废弃(abandoned)或已移除(removed)的版本
composer show -a 是互补的两个入口,前者信息更原始完整,后者更贴近本地环境。实际排查时,建议先用 show -a 快速过一遍,再打开网页确认关键版本的标签语义和废弃状态 —— 尤其是当你准备在 require 中硬指定一个非最新版的时候。

















