composer show 查不到下载量,因composer无统计功能且packagist自2021年冻结downloads api;真实安装数需访问packagist页面查看“installs”快照值和“dependents”数量,并结合github stars与更新频率交叉验证。

composer show 命令查不到下载量,别白试了
Composer 本身不提供任何下载统计功能,composer show、composer search 或 composer info 都只返回本地 lock 文件或缓存里的元数据,没有 downloads 字段。你执行 composer show monolog/monolog 看到的只是版本、依赖、autoload 配置——下载量不在其中。
- Packagist 自 2021 年起已冻结
downloadsAPI 字段,当前官网显示的「Installs」是快照值,不是实时累计,且不含镜像站或私有源流量 - 有些包在 Packagist 页面显示 “10M+ installs”,但点进去发现最后更新是 2022 年,说明数字早已失真
- 试图用
composer show --all或加-v参数也不会多出热度指标,那只是控制输出详细程度
去 Packagist 页面看「Installs」和「Dependents」才靠谱
真实可用的流行度信号得手动打开网页:访问 https://packagist.org/packages/{vendor}/{package},比如 https://packagist.org/packages/guzzlehttp/guzzle,重点盯两个位置:
- 右上角「Installs」数字:虽非实时,但仍是目前唯一公开可比的全局安装参考(注意单位是「k」或「M」,不是绝对次数)
- 下方「Dependents」链接:点击后跳转到依赖该包的其他包列表,数量越多元数据越扎实——比 star 数更反映实际工程采用率
- 顺手点「Source」进 GitHub,确认
github_stars是否同步更新;若 stars 过万但 2 年没 commit,热度可能已断档
用命令行快速跳转,省得手输 URL
虽然不能直接查统计,但可以用 composer show --show-links 一键打开关键页面,避免拼错地址或翻收藏夹:
composer show --show-links guzzlehttp/guzzle
输出里会包含:source(GitHub)、homepage(项目主页)、support(支持渠道)等链接。复制粘贴进浏览器,3 秒内就能看到 Installs 和 Dependents。
- 如果输出里没有
source,说明包没填源码地址,大概率是废弃或内部包,谨慎引入 - 某些包(如
laravel/pint)的 Packagist 页面不显示 Installs,只因作者设了"abandoned": true,这种要立刻排除 - Windows 用户注意路径分隔符不影响该命令,它不读本地文件系统,纯走 Packagist 元数据
别信单一指标,三个维度交叉验证才稳
一个包是否值得用,不能只看 Installs 多少。真正影响维护成本的是「谁在用它」和「它靠不靠得住」:
-
Dependents 数 > 500:说明被大量中大型项目间接验证过兼容性(比如
psr/log被 2w+ 包依赖) - GitHub stars 增速稳定 + 最近 6 个月有 merge:代表社区仍在活跃迭代,不是“躺平托管”
-
Packagist 上
time字段(latest stable 版本发布时间)≤ 3 个月:老版本长期不更新,往往意味着安全补丁滞后
最常被忽略的一点:有些包 Installs 很高,但 Dependents 只有十几个,全是同一公司旗下项目刷出来的——这种热度不可迁移,别跟风。











