Composer 要求输入 GitHub Token 是因 GitHub 自2021年8月起弃用密码认证,未认证访问API会触发限流或拒绝,需配置 Personal Access Token 并通过 composer config -g github-oauth.github.com 设置。
为什么 Composer 会突然要你输 GitHub Token
因为 GitHub 自 2021 年 8 月起彻底弃用密码认证,而 Composer 在访问私有仓库、或高频访问公开仓库(如安装依赖时触发限流)时,会默认走 GitHub API。没 Token 就会被拒绝,提示 Could not fetch https://api.github.com/... 或直接卡在 Token input required 交互界面。
这不是 Composer 故意为难你,而是 GitHub 强制要求——哪怕你只装一个公开包,只要 Composer 走了 API(比如查 package 的最新版本、下载 zip 包链接),就可能撞上限流阈值(未认证用户每小时 60 次)。
怎么生成并配置 GitHub Personal Access Token
登录 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → 勾选 repo(必须)、read:packages、delete:packages(如果用 GitHub Packages)→ 生成后立即复制保存(页面关闭后无法再查看)。
然后执行这条命令把 Token 存进 Composer 全局配置:
composer config -g github-oauth.github.com
注意:github.com 是域名,不是用户名;Token 必须是 classic 类型(Fine-grained token 不支持 OAuth 配置方式);别漏掉 -g,否则只对当前项目生效。