Composer安装Laravel时GitHub OAuth Token无效字符错误排查与解决
Composer安装Laravel时GitHub OAuth Token错误的成因与修复
错误成因
- 你的Composer全局配置里存储的GitHub OAuth token包含无效非ASCII字符(错误信息里的阿拉伯/波斯语字符+数字组合),GitHub的合法OAuth token仅由英文字母、数字和
-/_这类符号组成,非ASCII字符会被Composer判定为无效。 - 这和你今日开启GitHub双因素认证直接相关:开启2FA后,GitHub不再允许使用账号密码进行API访问,必须用个人访问令牌(PAT)替代,但你当前配置的token是错误的(大概率是输入/复制粘贴失误,或者旧配置被意外污染)。
修复步骤
清除错误的token配置
打开Windows命令提示符(CMD),执行命令删除全局配置里的错误token:composer config --global --unset github-oauth.github.com也可以手动编辑配置文件:
- 路径:
C:\Users\[你的用户名]\AppData\Roaming\Composer\config.json - 找到
github-oauth.github.com对应的键值对,删除后保存文件。
- 路径:
生成合法的GitHub个人访问令牌(PAT)
- 登录GitHub,进入「Settings > Developer settings > Personal access tokens > Tokens (classic)」
- 点击「Generate new token」,勾选权限:
repo(访问私有仓库)、read:packages(若需拉取GitHub Packages) - 生成后立即复制令牌,注意:令牌仅显示一次,务必妥善保存。
配置Composer使用新令牌
在CMD中执行命令,替换[你的新PAT]为刚复制的令牌:composer config --global github-oauth.github.com [你的新PAT]或手动修改
config.json,添加如下内容:{ "config": { "github-oauth": { "github.com": "你的新PAT" } } }重新执行安装命令
再次运行Laravel安装命令即可:composer create-project laravel/laravel example-app
补充说明
- 开启2FA后使用PAT是GitHub的强制要求,旧密码认证方式会完全失效,这是你必须更换认证方式的核心原因。
- 你当前使用的Composer 2.7.9版本兼容最新的GitHub认证机制,版本本身无问题。
内容的提问来源于stack exchange,提问作者Mohsen Movahed
相关产品推荐
相关产品推荐

