You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Composer 2.3.7执行init命令触发Author/Name相关TypeError报错

Composer init 触发parseAuthorString类型报错解决方案

问题复现状态

  • 本地已完成Composer安装,CMD环境执行composer -V可正常返回版本号2.3.7
  • VS Code终端内执行composer init尝试生成composer.json文件时抛出如下错误:
In InitCommand.php line 465:
                                                                                                                                                                           
    [TypeError]                                                                                                                                                                  
    Composer\Command\InitCommand::parseAuthorString(): Argument #1 ($author) must be of type 
    string, 
    null given, called in phar://C:/ProgramData/ComposerSetup/bin/composer.ph   
    ar/src/Composer/Command/InitCommand.php on line 345

报错根因

这是Composer 2.3.7版本的已知逻辑缺陷:composer init运行时会自动读取Git全局配置中的用户名、邮箱作为默认的包作者填充值,如果当前系统未配置Git全局用户信息,或是VS Code终端的环境变量未正确加载Git配置路径,就会读取到null值传入作者解析方法,触发严格类型校验报错。

可用解决方法

  • 方法1:补全Git全局配置
    终端执行以下两条命令配置全局Git用户信息,替换占位内容为个人实际信息:
    git config --global user.name "你的姓名"
    git config --global user.email "你的联系邮箱"
    
    配置完成后重启VS Code终端,重新执行composer init即可正常走交互流程。
  • 方法2:非交互模式跳过自动读取
    执行init命令时追加--no-interaction参数,手动传入必要配置,跳过自动读取系统信息的步骤,示例:
    composer init --no-interaction --name="vendor/package" --author="你的姓名 <你的邮箱>"
    
  • 方法3:升级Composer版本
    该类型校验问题在后续的Composer稳定版中已被修复,执行自带的升级命令更新到最新版本即可:
    composer self-update
    
    升级完成后重新执行初始化命令即可。

内容的提问来源于stack exchange,提问作者Davit Shavliashvili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 22:09:18