当前位置: 首页 > 新闻动态 > 技术教程

Composer fund --format指定输出 导出赞助信息格式【技巧】

作者:冰火之心 浏览: 发布日期:2026-02-01
[导读]:Composerfund命令不支持--format参数,仅输出纯文本;结构化数据需用composershow--no-dev--format=json提取support.funding字段,并用jq等工具解析归一化。
Composer fund 命令不支持 --format 参数,仅输出纯文本;结构化数据需用 composer show --no-dev --format=json 提取 support.funding 字段,并用 jq 等工具解析归一化。

composer fund 命令不支持 --format 参数

直接运行 composer fund --format json 会报错:Unrecognized option: --format。Composer 官方的 fund 命令(自 2.2+ 引入)目前仅输出纯文本列表,**没有内置格式化选项**,也不接受 --format-o json 等参数。

想导出结构化赞助信息?得绕过 fund 命令本身

真正能拿到可解析数据的入口是 composer show --no-dev --format=json 输出的包元数据,其中部分包在 support 字段里包含 funding 数组(Composer 2.5+ 支持)。但注意:

  • composer show 只查当前项目已安装的包,不是所有可赞助包
  • funding 字段内容取决于包作者是否按 Composer Schema 正确填写,格式不统一(可能含 typeurl,偶有 emailcustom
  • 原生 JSON 不含“赞助平台图标”或“推荐金额”,需自行映射(如 "github" → "https://github.com/sponsors/{user}"

快速提取 funding 字段的 shell 方案

jq 解析 composer show 输出是最轻量的做法(无需写 PHP 脚本):

composer show --no-dev --format=json | jq -r '.[] | select(.support?.funding) | "\(.name) \(.support.funding[].url)"'

常见变体:

  • 只取 GitHub Sponsors 链接:jq -r '.[] | select(.support?.funding) | .support.funding[] | select(.type == "github") | "\(.url)"'
  • 生成 Markdown 列表:jq -r '.[] | select(.support?.funding) | .support.funding[] | "- [\(.type)](\(.url)) — \(.name)"'
  • 过滤空 URL 或无效 type:select(.url and (.type | test("^(github|patreon|opencollective|tidelift)$")))

别指望 composer fund 未来加 --format

该命令定位是终端友好型提示(类似 npm fund),而非数据导出工具。Composer 团队明确表示其输出为 human-readable only,机器解析应走 show --format=json + funding 字段。如果你依赖自动化处理,重点该放在清洗和归一化 funding 数组——不同包填的 URL 差异很大,比如有的写 https

://github.com/sponsors/foo,有的只写 foo,还有的混用 custom 类型塞邮箱或 PayPal 链接。

免责声明:转载请注明出处:http://m.hclxt.cn/news/581175.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!