composer show 包名可显示包括homepage在内的完整元信息,其中homepage字段通常为官方文档链接;若为空则需查source或Packagist页面。

composer show 查看包基本信息和文档地址
执行 composer show 命令本身只列出已安装包的名称和版本,但加上包名参数后,会显示包括 homepage、source、dist 在内的完整元信息——其中 homepage 字段通常就是官方文档或项目主页链接。
例如查看 monolog/monolog 的详情:
composer show monolog/monolog
输出中你会看到类似:
homepage https://github.com/Seldaek/monolog
注意:不是所有包都填了 homepage;有些只填了 source(通常是 GitHub/GitLab 仓库地址),这时需手动拼出文档路径(比如 https://github.com/xxx/yyy/blob/main/README.md 或 https://xxx.github.io/yyy/)。
composer info 和 composer show 的区别
composer info 是 composer show 的别名,二者完全等价,无功能差异。不要误以为 info 会返回更“详细”的内容——它只是旧版命令的兼容别名。
- 两者都依赖
composer.lock中记录的包元数据,不联网也能运行 - 若包是通过
path仓库或本地 VCS 安装的,homepage可能为空或为本地路径 - 若想强制刷新元数据(比如维护者刚更新了
composer.json中的homepage),需先运行composer update --lock
如何批量提取所有依赖的文档链接
没有内置命令直接导出全部 homepage,但可用 shell 快速提取:
composer show --all | grep -E '^(name|homepage)' | awk '/^name/ {n=$2} /^homepage/ {print n " " $2}'
说明:
-
--all列出所有已知包(含未安装的),如只需已安装的,去掉该参数 - 部分包的
homepage字段可能缺失,对应行会跳过 - 某些包把文档放
support.docs字段里(Composer 2.2+ 支持),但目前极少有包实际使用该字段,不能依赖
为什么有时查不到文档链接?
根本原因在于:Composer 不强制要求填写 homepage,它只是 composer.json 中的一个可选字段。常见情况包括:
- 包作者没填
homepage,只留了source(如"source": {"url": "https://gitlab.com/foo/bar.git"}) - 包托管在私有仓库,
homepage指向内网地址,外部无法访问 - 包是 fork 或临时分支,
composer.json被修改但未同步更新元信息
遇到这种情况,最可靠的方式是去 Packagist 页面查:打开 https://packagist.org/packages/{vendor}/{package},页面右侧的 “Source” 或 “Homepage” 链接往往比本地 composer show 更准确——因为 Packagist 会在抓取时自动补全或校验字段。










