配置 GitHub Personal Access Token 可将 Composer 的 GitHub API 请求限额从每小时 60 次提升至 5000 次,解决因限流导致的“Rate limit exceeded”错误。

给 Composer 配置 GitHub Personal Access Token,就能绕过未登录用户的每小时 60 次 API 请求限制,让 composer install 或 composer update 正常拉取依赖。
为什么会出现这个错误?
Composer 在安装含 GitHub 仓库的包(比如 "monolog/monolog": "^2.0")时,会调用 GitHub API 查询版本、下载 ZIP 或获取元数据。未认证请求默认只有 60 次/小时,一旦超限,就会报错:
Failed to download vendor/package: Could not fetch https://api.github.com/... Rate limit exceeded
生成 GitHub Personal Access Token
登录 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic)
- Token description 填个名字,比如
composer-auth - 勾选 public_repo(足够大部分公开包使用;如需私有库,再加
repo) - 不勾选危险权限(如
delete_repo、admin:org等) - 点击 Generate token,页面会显示一次完整 token —— 务必立即复制保存,关闭后无法再次查看
配置到 Composer 全局或项目中
执行以下命令,把 token 写入 Composer 的全局 auth.json(推荐,一劳永逸):
composer config -g github-oauth.github.com
例如:
composer config -g github-oauth.github.com ghp_abc123xyz456...
你也可以只对当前项目配置(token 只生效于当前目录下的 composer.json):
composer config github-oauth.github.com
配置后,Composer 会在请求 GitHub API 时自动带上 Authorization 头,速率限制升至 5000 次/小时。
验证和排查小贴士
- 查看是否写入成功:
composer config -g --list | grep github-oauth - token 泄露风险高?可删掉重生成:
composer config -g --unset github-oauth.github.com - 仍失败?检查 token 是否过期(classic token 默认不过期,但可手动废止)、是否拼错、是否漏掉
github.com域名 - 公司内网或代理环境?确保
https://api.github.com可访问,且未被拦截
基本上就这些。配好 token 后,下次 install/update 就不会再卡在 GitHub 限流上了。










