composer init --author参数不存在,正确方式是先全局配置name和email再运行composer init --no-interaction;authors必须为含name(必填)和email(推荐)的对象数组,结构错误将导致Packagist忽略该字段。

composer init --author 参数根本不存在
别试了,composer init --author 会直接报错:[InvalidArgumentException] Command "init" does not support option "--author"。Composer 2.9.6 的 init 命令源码里压根没定义这个选项,所有声称支持 --author 的文档或 AI 示例都是错的。
想跳过交互又带作者?只能靠全局配置 + -n
真正能“静默初始化并自动填作者”的唯一路径是提前设好全局 name 和 email:
-
composer config -g name "Your Name"(必须单独执行) -
composer config -g email "you@example.com"(必须单独执行) - 进空目录,运行
composer init --no-interaction(或-n)
这时生成的 composer.json 里 authors 字段才会是 [{"name": "Your Name", "email": "you@example.com"}]。注意:init -n 本身不读全局配置,但它在生成 authors 时会主动查 config -g 的这两项值——前提是它们已存在。
已有项目补作者?手写数组结构,别信 AI 模板
直接编辑 composer.json 是最稳妥的方式,但必须严格满足结构要求:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
authors必须是数组,哪怕只有一人:写成"authors": [{"name": "Alice"}],不是"author": {...},也不是"authors": {"name": "Alice"} - 每个对象至少含
name字符串,值不能是空字符串或纯空格("name": ""或"name": " "都无效) - Windows 下用记事本编辑容易让
email字段乱码,务必用 VS Code 或 Notepad++ 保存为 UTF-8 无 BOM
改完立刻跑 composer validate,报错就说明结构不对;再跑 composer show your/package 确认是否识别——它默认不显示 authors,得加 -s 才能看到。
为什么 Packagist 上看不到作者?和命令无关,是同步问题
本地 composer.json 写对了,composer show 也显示正常,但 Packagist 页面还是空,大概率卡在同步环节:
- Packagist 只读你 push 的 tag 对应的 commit,改完没
git tag v1.2.4 && git push --tags,线上永远不变 - 私有包没在 Packagist 页面点 “Update” 手动触发同步,也不会自动拉新
-
name字段里混入不可见 Unicode 字符(比如全角空格),JSON 校验通过但 Packagist 解析失败
最容易被忽略的是:author 信息不参与任何运行时逻辑,填错不会影响 install 或 autoload,但一旦结构不合法,Packagist 就彻底丢弃整个字段——它连 warning 都不报,只默默留空。

















