composer fund 是只读命令,仅显示已安装依赖中 composer.json 内手动配置的 funding 字段信息,不支持支付、跳转或自动校验链接有效性,也无法查询未安装或未填写该字段的项目。

Composer 没有 fund 命令,也不存在官方的“支持开源项目”功能。 这是常见误解——composer fund 是 Composer 2.2+ 引入的**只读命令,仅展示项目 funding 字段信息**,不涉及支付、跳转或实际捐赠动作。
为什么 composer fund 查不到项目资助链接?
该命令完全依赖包作者在 composer.json 中手动填写的 funding 字段。很多项目没填,或只填了 GitHub Sponsors(但未启用),或填了已失效的链接。
- 字段必须位于根级
composer.json,格式如:"funding": [{"type": "github", "url": "https://github.com/sponsors/username"}] - Composer 不校验 URL 是否可访问,也不检查账户是否开通赞助功能
- 如果项目用的是私有仓库或未发布到 Packagist,
composer fund默认查不到(除非你本地 require 了它且有完整composer.json)
composer fund 能查哪些项目?
只能查当前项目已安装的依赖,且该依赖的 composer.json 包含有效 funding 字段。它不会主动联网扫描或推荐项目。
- 运行
composer fund时,它读取vendor/autoload.php下每个包的composer.json,逐个检查funding - 若想查某个特定包,先
composer require vendor/package(哪怕只 dev-require),再运行composer fund - 不支持模糊搜索或按平台筛选(比如“只看 Open Collective”)
真正想支持作者,应该怎么做?
别依赖 composer fund 当入口。它只是个信息提示器,不是支付网关。
- 优先去项目主页(GitHub/GitLab 仓库首页)找
Sponsor、Fund this project或Open Collective按钮 - 检查项目文档的
CONTRIBUTING.md或README.md,常会写明支持方式(PayPal、Buy Me a Coffee 等) - 有些作者把资助链接藏在
composer.json的homepage或support字段里,composer show vendor/package可看到
最常被忽略的一点:Composer 不知道你是否点了链接、付了款、甚至没打开浏览器——它只负责把作者写死的字符串打印出来。想支持谁,得你自己动手去找、去确认、去操作。










