Composer 无法查下载量,必须通过 Packagist 官网或 API 获取;网页右上角显示实时总下载量和月下载量,API 仅提供 monthly 字段,total 始终为 null。
Composer 本身查不到下载量,所有下载统计(包括总安装数、月下载量)必须通过 Packagist 官网或其 API 获取,命令行里 composer show 或 composer install --verbose 都不返回这些数字。
直接在 Packagist 网页查看下载总数和月活数据
这是最简单、最权威的方式。Packagist 页面右上角明确显示「Total downloads」和「Monthly downloads」,数据实时更新,无需登录或鉴权。
- 打开 https://packagist.org/packages/ 后拼上包名,例如 https://www.php.cn/link/6daab15a4f57549b7f236d7f0cfca3c8
- 滚动到页面右上角,就能看到类似 “Total downloads: 242,189,042” 和 “Monthly downloads: 7,215,631” 的统计
- 注意:这个“Installs”不是“用户数”,而是 Packagist 收到的
GET /p2/...请求次数,含重复、CI 构建、镜像同步等,但仍是业界公认基准
用 Packagist API 批量拉取月下载量
如果你要写脚本批量分析多个包(比如做选型对比),Packagist 提供了 JSON 接口,其中 .package.downloads.monthly 字段可用,但要注意它不返回总下载量。
- 执行:
curl -s "https://www.php.cn/link/6daab15a4f57549b7f236d7f0cfca3c8.json" | jq '.package.downloads.monthly' - 返回值是整数(如
7215631),不是字符串;若为null,说明该包尚未被收录进统计周期(新包可能延迟 1–2 天) -
.package.downloads.total字段在 API 响应中始终为null—— Packagist 故意不开放总下载量的 API 接口,仅网页展示 - 别依赖
.package.favers当热度指标:它表示“收藏数”,不是 star,且很多用户从不点收藏,参考价值弱于 GitHub star 或月下载量
为什么不能靠 composer show 或 composer.lock 查下载量?
因为这些本地文件/命令只记录“你装了什么”,不记录“全世界装了多少”。有人误以为解析 composer.lock 能反推使用广度,这是常见误解。