Composer 不支持直接查看包的 GitHub 星数或热度,仅通过 composer show 或 composer search 获取 Packagist 元数据;需手动访问源码链接查 star 数,或调用 GitHub API、Packagist API 分别获取星标与下载量,但二者无统一标识关联。

Composer 本身不提供查看包 GitHub 星数或热度的功能,它没有集成任何第三方仓库的统计 API。所谓“composer show”或“composer search”都只返回 Packagist 元数据(如版本、依赖、描述),不包含 star 数、fork 数、下载量趋势等外部指标。
packagist.org 网页端查 star 数:最直接但需手动跳转
Packagist 页面会显示每个包的 GitHub/GitLab 仓库链接(在 “Source” 或 “Homepage” 栏),但不会显示 star 数。你需要:
- 运行
composer show vendor/package-name获取源码地址,例如输出含source : https://github.com/phpunit/phpunit - 把该 URL 粘贴进浏览器,访问 GitHub 仓库主页 —— star 数就显示在右上角
- 注意:有些包 source 是私有 Git 地址或 Bitbucket,这类无法直接查 star;也有包未关联 GitHub(比如只托管在 GitLab 或自建 Git),那就根本不存在 GitHub star
用 GitHub API 批量查 star(命令行 + curl)
如果你已知包的 GitHub 组织/仓库名(如 monolog/monolog),可绕过 Packagist,直连 GitHub API:
curl -s "https://api.github.com/repos/monolog/monolog" | grep \"stargazers_count\"
返回类似:"stargazers_count": 7243。实际使用时建议加 -H "Accept: application/vnd.github.v3+json" 和限速处理。注意 GitHub API 有匿名调用频次限制(60 次/小时),且私有库不可查。
用 packagist-api 查下载量(替代热度参考)
Packagist 提供官方 API 返回近 30 天下载量,比 star 数更反映真实使用强度:
curl -s "https://packagist.org/packages/monolog/monolog.json" | jq '.package.downloads.monthly'
需要安装 jq 解析 JSON。这个值在 Packagist 页面的 “Stats” 栏也可见,但 API 更适合脚本批量拉取。注意:downloads.monthly 是估算值,非实时精确计数;新包可能为 null。
真正麻烦的地方在于:star 数和下载量分属两个系统(GitHub vs Packagist),没有统一 ID 关联。一个包在 Packagist 上叫 foo/bar,它的 GitHub 仓库名可能是 baz/bar —— 这种映射缺失,自动化脚本必须人工校验或依赖 source 字段的 URL 解析,而后者并不总规范。










