composer show 默认不显示 bug-tracking 字段,需加 -s 参数从已安装包的 composer.json 中读取完整元数据(含 bug-tracking),或用 composer info --format=json 配合 jq 提取结构化数据。

composer show 命令本身不直接输出 bug 追踪系统链接
Composer 的 composer show 默认只显示包名、版本、描述和 homepage,不包含 bug-tracking 字段。这个字段存在于 composer.json 中(由包作者定义),但不是所有包都填了,且 Composer CLI 不默认展示它。
用 composer show -s 查看包的完整 metadata(含 bug-tracking)
composer show -s(-s 即 --source)会从已安装包的 composer.json 文件中读取原始元数据,其中就包括 bug-tracking 字段(如果存在)。这是目前最可靠的方式。
- 运行
composer show -s vendor/package-name可查单个包(如composer show -s monolog/monolog) - 运行
composer show -s列出全部包,但输出较冗长;建议配合grep筛选:composer show -s | grep -A 2 "bug-tracking" - 注意:该字段值可能是 URL(如
https://github.com/monolog/monolog/issues),也可能是空或占位符(如https://example.com/issues)
用 composer info --format=json 提取结构化数据再解析
如果需要批量提取所有包的 bug-tracking 链接并做进一步处理(比如导出为 CSV),推荐用 JSON 输出 + 命令行工具解析:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer info --format=json | jq -r '.[] | select(.["bug-tracking"]) | "\(.name) \(.["bug-tracking"])"- 依赖
jq工具;若未安装,bug-tracking字段在 JSON 中是可选字段,必须用select()过滤非空项 - 有些包把 issue 路径写在
support.issues字段里(如 Laravel),需额外检查该字段
别指望 packagist.org API 或 web 页面自动聚合这个信息
Packagist 的公开 API(如 https://packagist.org/packages/vendor/name.json)返回的数据与本地 composer.json 一致,但不会补全缺失的 bug-tracking 字段。很多包作者根本没填,或者填了但拼写错误(比如写成 bug_tracking 或 issue-tracker),这类情况只能手动确认 GitHub/GitLab 仓库的 Issues 标签页。
真正能稳定拿到 issue 链接的地方,其实是包的 VCS 地址 —— 大多数 Composer 包的 source.type 是 git,其 source.url 指向代码仓库,Issues 页面通常就是把 .git 替换成 /issues(如 https://github.com/phpunit/phpunit.git → https://github.com/phpunit/phpunit/issues),但这不是规范,只是常见惯例。










