唯一可靠命令是composer show -a vendor/package,不加-a只读本地缓存和installed.json,输出的versions字段非全量历史tag;加-a才直连packagist api获取所有未废弃的正式版、预发布版及开发分支。

直接查 Packagist 上所有 tag,唯一可靠命令是 composer show -a vendor/package —— 不加 -a 就不是全量列表,别被 versions 字段误导。
为什么 composer show 不加 -a 看不到历史 tag
默认行为只读 vendor/composer/installed.json 和本地缓存,输出的 versions 字段根本不是“所有可用版本”,而是:
• 你曾经装过的几个版本(比如 2.10.0、3.5.0)
• 加上 Packagist 标记的 latest 和 latest-stable
• 完全不包含 1.x、2.8.0、3.4.0-RC1 这类没在本地出现过的 tag
• 如果包压根没 require 过,直接报 Package not found,而不是联网查
composer show -a 能查到哪些 tag
这个命令强制直连 Packagist API(或你配置的私有源),返回真实发布的全部未废弃 tag:
• 正式版:如 3.5.0、2.10.0
• 预发布版:如 3.4.0-RC1、2.9.0-beta2
• 开发分支:如 dev-main(Composer 2.2+ 推荐)、dev-3.x
• 注意:dev-master 在新项目中可能已不可用,且不会出现在结果里
• 已标记为 abandoned 的版本也不会返回
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
查不到预期 tag?先排除这三类问题
• 拼错包名:输成 monolog/monolig 或大小写错误(Monolog/Monolog ≠ monolog/monolog),会静默失败;加 -v 才能看到 Package not found
• 源配置问题:私有包必须在 composer.json 的 repositories 中正确定义,token 有效;国内用户若超时,可临时切回官方源:composer config -g repo.packagist composer https://packagist.org
• Git tag 未同步:作者只打了附注 tag(1.2.3^{})但没推送到远端,或用了非标准格式(如 v1.2.3 而非 1.2.3),这时 composer show -a 就看不到 —— 得直接跑 git ls-remote --tags <repo-url></repo-url>
比 CLI 更全的 tag 查看方式
命令行快但有盲区;要确认某个极老版本是否存在、是否被弃用、发布时间、PHP 兼容范围,还是得打开网页:
• 访问 https://packagist.org/packages/vendor/package
• 滚动到 “Versions” 区域,按时间倒序排列,每个 tag 都标了 stable / RC / dev / abandoned 状态
• 点开单个版本,能看到它对应的 composer.json 内容,尤其是 require.php 约束 —— 这些细节 composer show -a 完全不提供










