需配置 github personal access token 解决,执行 composer config -g github-oauth.github.com 并确保 auth.json 权限为 600,可将限额从每小时 60 次提升至 5000 次;镜像源仅加速 packagist 元数据,无法绕过 github api 限流。

Composer install 时提示 “API rate limit exceeded” 怎么办
这是 Composer 在请求 GitHub API 时触发了未登录用户的限频(60 次/小时),本质是没带认证凭据,不是网络或配置问题。
解决路径只有两条:要么用 GitHub Token 让请求带上身份,要么换不依赖 GitHub API 的镜像源。别试“重试”或“清缓存”,无效。
- GitHub 未登录状态下,
composer install或composer update中涉及packagist.org的包若托管在 GitHub(尤其是私有 repo 或新 fork),会触发https://api.github.com/rate_limit检查 - 错误信息典型长这样:
Failed to download vendor/package: The "https://api.github.com/repos/xxx/yyy/zipball/zzz" file could not be downloaded (HTTP/2 403),响应体里常含rate limit exceeded - 即使你只装 public 包,某些包的
dist.url仍可能指向 GitHub release,Composer 会直连 API 校验 —— 这点容易被忽略
怎么生成并配置 GitHub Personal Access Token
Token 是最直接的解法,尤其当你需要访问私有 repo 或高频更新依赖时。注意:不要用密码,GitHub 已禁用密码认证;也不要给 token 过多 scope。
- 访问
https://github.com/settings/tokens/new,勾选repo(仅需读权限就选public_repo)和read:packages(如果用 GitHub Packages) - 生成后立即复制 token 字符串 —— 关闭页面就再也看不到了
- 执行命令写入全局 auth:
composer config -g github-oauth.github.com <your_token_here></your_token_here> - 验证是否生效:运行
composer config -g github-oauth.github.com应输出 token;再跑一次composer update,403 消失即成功
国内用户优先试试 Packagist 镜像源
如果你只是拉公开包、不碰私有仓库,换镜像比配 token 更省事,且能加速安装。但注意:镜像不是实时同步,延迟通常在几分钟内。
- 推荐清华源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(已停用)→ 改用:composer config -g repo.packagist composer https://packagist.proxy.fly.dev或更稳的:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 阿里云镜像支持 HTTPS 和完整 metadata,兼容性好;
fly.dev镜像响应快但偶尔不稳定,适合临时救急 - 切镜像后记得删掉旧的 GitHub token 配置(
composer config -g --unset github-oauth.github.com),避免干扰 - 项目级覆盖可用
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不加-g),仅作用于当前目录
为什么 composer global config 不生效
常见误操作:把 token 或镜像配到当前项目,却忘了全局配置才是影响所有项目的那个。尤其 CI 环境下,~/.composer/config.json 才是 Composer 查找凭据的第一位置。
- 运行
composer config -g --list查看全局配置,确认github-oauth或repo.packagist是否出现在输出里 - 如果用了 Docker 或 CI,确保
COMPOSER_HOME环境变量没被覆盖,否则-g写到错路径 - Windows 用户注意:PowerShell 里
$符号要转义,比如composer config -g github-oauth.github.com `"your_token"` - 配置写错格式(如多了一层引号、JSON 格式损坏)会导致整个 config 加载失败,可直接编辑
~/.composer/config.json手动修正
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











