能,但取决于包的composer.json是否填写authors字段;运行composer info vendor/package可查看,若为空数组或缺失则说明包未维护该信息。

composer info 能查到作者信息吗
能,但要看包的 composer.json 里有没有填 authors 字段——不是所有包都填,很多只写了 name 和 description。直接运行 composer info vendor/package,输出里如果有 authors 一行,通常就是数组格式,含 name、email、homepage 等字段。
常见错误现象:composer info 输出里压根没出现 authors,或只显示空数组 []。这不是命令用错了,是包本身没维护这部分元数据。
- 使用场景:排查依赖来源、确认是否为官方维护、联系贡献者前快速核对
- 注意区分
maintainers(若有)和authors——前者更可能是当前活跃维护者,后者常指最初创建者 -
composer info不加参数时列出所有已安装包,但不会展开作者信息;必须指定具体包名才能看到完整字段
怎么让 composer info 显示更全的字段
默认输出是精简格式,作者信息可能被折叠或省略。加 -s(--show)参数可强制显示全部 JSON 字段,包括 authors、support、funding 等:
composer info -s monolog/monolog
这个参数不改变数据源,只是控制输出粒度。如果包的 composer.json 里 authors 是空的,-s 也只会显示 "authors": []。
- 性能影响:无。只是解析本地已安装包的
composer.lock或vendor/composer/installed.json,不联网 - 兼容性:
-s在 Composer 2.0+ 稳定支持;1.x 版本需用--no-dev配合其他参数模拟,但不推荐——升级 Composer 更实际 - 别指望
composer show:这是旧命令别名,行为与info一致,无额外字段
作者信息为空时,还能从哪找
当 composer info -s 显示 authors: [],说明包的元数据缺失。这时得跳出去查:
- 看包的 GitHub/GitLab 仓库主页:URL 通常在
source或homepage字段里,或者直接用composer info输出中的source的url值 - 查
composer.json原始文件:访问 packagist.org 页面,点 “Source” 链接,翻到根目录下的composer.json - 注意
type字段:如果是metapackage或project,基本没有作者信息,这类包不提供实际代码 - 别信
composer search:它只搜包名和描述,不索引作者字段
为什么有些包作者显示为 “N/A” 或乱码
这通常是编码或解析问题,不是 Composer 本身 bug。常见于包的 composer.json 中 authors 字段用了非 UTF-8 编码,或包含不可见控制字符(比如 Windows 换行符混入 JSON 字符串)。
实际表现:终端里作者名显示为 ???、N/A,或整行错位。此时 composer info -s 输出的 JSON 可能已损坏,PHP 解析失败后 fallback 到空值。
- 验证方式:用
cat vendor/vendorname/package/composer.json | jq '.authors'(需装jq),看原始 JSON 是否合法 - 解决思路:不是你本地的问题,而是包发布时没校验 JSON 格式;只能反馈给包作者,或临时 fork 后修复
- 兼容性陷阱:某些老旧 CI 环境(如 PHP 7.2 + Composer 1.6)对 Unicode 处理更脆弱,升级环境能缓解但不能根治
作者信息本质是“尽力而为”的元数据,不是契约。真正关键的永远是代码行为、版本号、许可证和 issue 记录——这些才决定能不能用、出问题找谁。










