composer show 命令无法查下载量,因其调用的 Packagist API 不返回统计字段;唯一可靠来源是 Packagist 网页右上角的 Total downloads 和 Monthly downloads(估算值,24 小时更新)。

composer show 命令根本查不到下载量
别试 composer show monolog/monolog 或加 --all、--verbose 参数——输出里永远不会有 downloads、installs、stats 这类字段。因为 Packagist API 返回的包详情 JSON(如 /packages/monolog/monolog.json)压根不带统计信息;composer show 调用的就是这个接口,它只返回 name、version、require、autoload 等本地元数据。
常见错误现象:
- 误以为
composer show --remote会拉取远程统计(实际只检查是否有新版本) - 在 CI 脚本里用
composer info解析输出找下载数(该命令等价于show,同样不含) - 依赖第三方 Composer 插件声称“支持下载量查询”(所有这类插件最终都因 Packagist API 不提供而降级为跳转页面)
唯一能看“Total downloads”的地方是 Packagist 页面
打开 https://packagist.org/packages/{vendor}/{package},比如 https://packagist.org/packages/monolog/monolog,滚动到右上角,你会看到类似:
Total downloads: 1.2B+ Monthly downloads: 7.2M
这就是目前**唯一公开、可验证、带界面的来源**。注意两点:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 这个数字是估算值,基于镜像请求日志采样,误差常超 ±20%,且每 24 小时左右更新一次,不是实时
- 点击 “Total downloads” 数字可跳转趋势图(
/packages/{vendor}/{package}/stats),但只保留最近 12 个月,无 API 导出入口 - 所谓 “1.2B+” 是累计安装快照,不是当前活跃用户数,也不区分 dev vs prod、CI 构建 vs 手动 install
想批量查多个包?别碰 API,直接 curl + jq 解析 stats.json
Packagist 的 /packages/{vendor}/{package}/stats.json 接口虽未公开文档,但可用且无认证:
curl -s "https://packagist.org/packages/monolog/monolog/stats.json" | jq '.total'
返回的是一个整数,例如 1234567890。但必须清楚:
- 该接口可能被限流,高频请求会返回 429;不建议在部署脚本中轮询调用
-
.total是历史累计估算,不是 delta 值;两次请求差值 ≠ 过去 24 小时真实增量 - 2021 年起,Packagist 已冻结 downloads 字段的主动更新逻辑,部分老包的
stats.json里.total可能长期不变 - 它不返回月度/周度分解,也不含 dependents 数——后者只能手动打开
/dependents页面解析 HTML
真正有用的热度指标其实是 dependents 和 GitHub stars
下载量数字水分大,反而 Dependents(多少其他包声明了它)和 GitHub Stars 更能反映真实采用度:
- 执行
composer show --show-links monolog/monolog,快速打开其 Packagist 和 GitHub 链接 - 在 Packagist 页面点 “Dependents”,看顶部数字(如 “24,812 packages depend on this”),这代表生态嵌入深度
- 跳转 GitHub 后重点看:最近一次 commit 时间、open issues 数量、是否有稳定 release tag(而非只有 dev-main)
- 特别注意:很多高下载量包是被框架默认集成的(如 laravel/framework 拉了几十个子包),不代表独立项目选型热度
容易被忽略的一点:Packagist 页面右上角的 “Monthly downloads” 比 “Total downloads” 更有参考价值——它至少反映了近期真实使用节奏,但依然无法替代对代码仓库活跃度的手动判断。

















