最准方式是查看 Packagist 页面——composer show 不返回 star 数,仅显示本地依赖信息;生态指标如 Stars、Installs、Dependents 需通过 composer show --show-links 跳转至 Packagist 或 GitHub 查看,且 Dependents > Stars > Installs 是更可靠的流行度排序依据。

直接看 Packagist 页面最准——composer show 命令本身不返回 star 数,它只管本地依赖信息;星标数、下载量、被依赖数这些生态指标,必须跳转到 Packagist 或 GitHub 才能查到。
用 composer show --show-links 快速打开包主页
这是最省事的起点。执行命令后会输出类似:
composer show --show-links laravel/framework name : laravel/framework descrip. : The Laravel Framework. homepage : https://laravel.com source : https://github.com/laravel/framework dist : https://github.com/laravel/framework
复制 source 链接(通常是 GitHub 地址)粘贴到浏览器,就能看到实时 Stars 数;如果链接是 Packagist 页面(如 https://packagist.org/packages/laravel/framework),则还能同时看到 Installs(总下载量)、Dependents(多少其他包依赖它)和 Forks。
- ⚠️ 注意:
--show-links仅显示包定义里填的链接,有些维护者漏填source,这时可能只显示homepage,需手动把域名换成github.com/xxx/xxx - 别信
composer show -a里的 “stars” 字段——它根本不存在,那是你记混了 Packagist 的 UI 字段名
在 Packagist 搜索页直接比对多个包的流行度
比如你想选一个缓存库,搜 cache 进入 https://www.php.cn/link/3e9ab873309a46c29f602377705e5b4d,列表里每项都带:
-
Installs:近 30 天下载量(不是总数,但趋势更真实) -
Stars:对应 GitHub 仓库的 star 数(点击包名进去能看到精确值) -
Dependents:说明这个包是否已成为生态“基础设施” - 更新时间:如果 Last updated 是 “2 years ago”,基本可以排除,除非你维护的是遗留系统
对比时优先看 Dependents > Stars > Installs——被大量其他包依赖,比单纯高 star 更说明它稳定、接口设计合理。
为什么不能只看 GitHub star?
Star 数容易被刷、被误点,且无法反映实际使用深度。常见误导场景:
- 一个教学 Demo 仓库 star 很高(比如 “100行写个Router”),但它没上 Packagist,
composer require根本装不了 - 某个包 GitHub star 5k,但 Packagist 显示
Dependents: 0,说明没人真把它当依赖引入项目 - star 数暴涨但最近半年没 commit,大概率已弃坑(比如
symfony/thanks曾因 Symfony 6 升级停滞过半年)
真正靠谱的信号是:Packagist 上 Installs/month > 100k + Dependents > 50 + GitHub 最近 3 个月有 merge 记录。
别跳过 Packagist 页面右下角的 “Source” 链接——点进去看 GitHub 的 Issues 标签页,扫一眼最近 10 个 issue 的关闭速度和回复质量,这比 star 数更能预判你将来会不会卡在某个 bug 里出不来。









