配置GitHub OAuth token可解决Composer的API限流问题:1. 在GitHub创建具有repo和read:packages权限的Personal Access Token;2. 用composer config -g命令将其添加至全局配置;3. 验证配置生效后即可将请求限额从60提升至5000次/小时,避免频繁限流。

当你使用 Composer 安装或更新 PHP 项目依赖时,如果频繁访问 GitHub 的公共仓库(例如下载开源包),可能会遇到 "GitHub API rate limit exceeded" 的提示。这是因为 Composer 在获取包信息时会调用 GitHub API,而未认证的请求受每小时 60 次的限制。一旦超出,就会被暂时封禁。
解决这个问题最有效的方法是为 Composer 配置一个 GitHub OAuth token,使请求以认证用户身份进行,将请求限额提升至每小时 5000 次。以下是详细配置步骤。
1. 创建 GitHub Personal Access Token
你需要生成一个具有适当权限的 token:
- 登录你的 GitHub 账号
- 点击右上角头像 → Settings
- 在左侧菜单中选择 Developer settings
- 选择 Personal access tokens → Tokens (classic)
- 点击 Generate new token → Generate new token (classic)
- 填写 Note(如“Composer Token”)
- 过期时间建议选 30 天或自定义
- 勾选 repo 和 read:packages 权限(通常只需这些)
- 滚动到底部,点击 Generate token
- 复制生成的 token(页面只会显示一次,请立即保存)
2. 将 Token 添加到 Composer 配置
打开终端,运行以下命令,将 GitHub token 添加到 Composer 的全局配置中:
composer config -g github-oauth.github.com YOUR_OAUTH_TOKEN
把 YOUR_OAUTH_TOKEN 替换为你刚刚复制的 token。例如:
composer config -g github-oauth.github.com ghp_abc123def456...
这条命令会在 Composer 的全局配置文件(通常是 ~/.composer/config.json)中添加如下内容:
{
"github-oauth": {
"github.com": "ghp_abc123def456..."
}
}
3. 验证是否生效
你可以尝试再次运行 composer install 或 composer update,应该不会再出现 rate limit 错误。
也可以通过查看当前配置确认:
composer config -g --list
在输出中查找 github-oauth 相关项,确认 token 已正确设置。
4. 其他注意事项
以下是一些实用建议,帮助你避免后续问题:
- 不要在公共项目或版本控制中提交 token,避免泄露
- 如果 token 泄露或过期,可在 GitHub 页面撤销,并重新生成后更新 Composer 配置
- 团队协作时,每个开发者都应配置自己的 token
- 某些 CI/CD 环境也需要配置该 token,可通过环境变量或脚本自动设置
基本上就这些。配置完成后,Composer 访问 GitHub 将使用你的认证身份,大幅降低触发限流的概率,提升依赖管理效率。










