composer show 不能直接显示文档地址,但可通过输出的 homepage 或 support.docs 字段间接获取,前提是包作者规范填写了 composer.json;未安装或元数据缺失时应优先使用 packagist 页面或 api 查询。

composer show 命令能直接查到文档地址吗
不能直接显示,但 composer show 是唯一内置命令中附带元信息的入口。它会输出包的 homepage、source 和 support 字段,而官方文档链接通常藏在 homepage 或 support.docs 里 —— 前提是包作者规范填写了 composer.json。
执行:
composer show monolog/monolog,观察输出中是否有类似
homepage : https://github.com/Seldaek/monolog 或 support : {"docs":"https://github.com/Seldaek/monolog/blob/main/README.md"} 的行。- 如果
homepage指向 GitHub/GitLab 仓库,文档大概率在README.md或/docs目录下 - 若
support.docs存在且非空,那就是最接近“官方文档链接”的字段 - 很多包(尤其 Laravel 生态)把文档放在独立域名(如
https://laravel.com/docs),这时composer show不会体现,需额外判断
为什么 composer info 不等于文档地址
composer info 和 composer show 功能一致,只是别名;它们只读取本地已安装包的 composer.json 元数据,不联网抓取或解析文档页。这意味着:
- 未安装的包,
composer show vendor/package会报错Package not found - 即使安装了,若作者没填
support.docs或填了错误链接,你也得不到有效文档地址 - 有些包(如
phpunit/phpunit)把文档托管在phpunit.de,但composer.json只写了homepage指向 GitHub,你需要手动拼接https://phpunit.de/manual/current/en/
用 composer search + 手动验证更快
对未安装或元数据缺失的包,与其反复试 composer show,不如用 composer search 定位后直接查源码或官网:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
执行:
composer search monolog,结果里会列出包名和简短描述;复制包名(如
monolog/monolog),打开 Packagist 页面 —— 这里「Source」和「Homepage」按钮旁,常有醒目的「Documentation」链接(由 Packagist 自动从 composer.json 或 GitHub README 抽取)。- Packagist 页面比本地
composer show更全:它会尝试渲染 README 中的文档链接、提取 GitHub Wiki 地址、甚至识别readthedocs.io域名 - 搜索时加
--type library可过滤掉插件类包,减少干扰 - 注意区分
laravel/framework(核心)和laravel/docs(文档包本身)——后者反而没有文档,只有生成工具
真正可靠的自动化方案得绕开 Composer
如果你写脚本批量查文档地址,别依赖 composer show 解析输出(格式不稳定、字段可选),更别用正则硬匹配 https? —— 很多包把 Slack 链接、Twitter 链接也塞进 support。
推荐做法是:用 Packagist API 直接查,例如:
curl -s "https://www.php.cn/link/6daab15a4f57549b7f236d7f0cfca3c8.json" | jq -r '.package.support.docs // .package.homepage'
- API 返回结构稳定,
.package.support.docs优先级高于.package.homepage - jq 处理比 shell grep 可靠得多,避免匹配到邮箱或 issue 链接
- 遇到返回空值,就 fallback 到 GitHub README 的
## Documentation锚点(需额外 HTTP 请求)
人工查的时候,记住一点:Packagist 页面右上角那个「Documentation」按钮,比任何命令行输出都准。它背后已经帮你做了所有适配和验证。










