composer提示API请求达到限制怎么办_composer配置GitHub Token令牌【方案】
发布时间 - 2025-12-26 00:00:00 点击率:次Composer提示“API rate limit exceeded”是因未配置GITHUB_TOKEN导致GitHub匿名API调用超60次/小时限额;配置含public_repo权限的Token可提升至5000次/小时,并需通过composer config -g github-oauth.github.com正确设置。
Composer 提示 “API rate limit exceeded” 就是 GitHub 的 API 限流触发了,本质不是 Composer 问题,而是你没配 GITHUB_TOKEN,导致所有请求都走匿名通道,每小时只能 60 次。
为什么没配 Token 就会限流
Composer 从 v2 开始默认通过 GitHub API 获取包元数据(比如 composer show、composer update),而未认证的 API 请求共享一个匿名配额:每小时最多 60 次。一旦团队共用一台机器、CI 环境频繁拉包、或本地反复试错,很容易撞墙。
配了个人 GITHUB_TOKEN 后,请求变成用户级,配额升到每小时 5000 次,基本够用。
怎么生成并配置 GitHub Token
Token 必须带 repo 权限(只读即可),不能用 gist 或 admin:org 这类高危权限。
- 访问 https://www./link/9c450eb90c31bc12f1691f235da5a0cc,勾选
public_repo(私有库需额外勾repo) - 生成后立即复制保存——页面关闭后无法再次查看明文
- 在终端运行:
composer config -g github-oauth.github.com
- 验证是否生效:
composer config -g github-oauth.github.com
应输出你的 token 前几位(Composer 会自动掩码显示)
常见踩坑点
配了 Token 还报限流?大概率是以下几种情况:
- Token 权限不足:只勾了
gist或没勾repo,必须含public_repo - 配错域名:命令里写成
github.com是对的,但有人误写成api.github.com或带https:// - CI 环境未注入:GitHub Actions 要在
env:下显式传入GITHUB_TOKEN,且注意它默认不继承给子 shell,需用composer config github-oauth.github.com ${{ secrets.GITHUB_TOKEN }} - 用了企业版 GitHub(GHES):要配对应实例域名,如
git.example.com,而非github.com
临时绕过限流的应急操作
如果 Token 还没准备好,又急需更新依赖,可用本地缓存降级:
- 加
--prefer-dist强制走 zip 包下载(跳过 API 查询):composer update --prefer-dist

- 用镜像源(仅限 Packagist 包):
composer config -g repo.packagist composer https://packagist.phpcomposer.com
(注意该镜像已停,推荐https://packagist.org官方中国镜像:https://packagist.laravel-china.org,但仅缓解元数据查询压力,不解决 GitHub API 限流) - 删掉
vendor/和composer.lock后重装,有时能避开部分元数据刷新逻辑
真正可靠的解法只有配 Token;其他都是权宜之计。别把 GITHUB_TOKEN 硬编码进 composer.json 或提交到 Git,它等同于密码。
# php
# laravel
# js
# git
# json
# composer
# github
# 编码
# api调用
# 镜像源
# 为什么
# Token
# 继承
# https
# 镜像
# 每小时
# 都是
# 配了
# 就会
# 还没
# 权宜之计
# 最多
# 一台
# 要在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
制作企业网站建设方案,怎样建设一个公司网站?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Laravel如何保护应用免受CSRF攻击?(原理和示例)
如何注册花生壳免费域名并搭建个人网站?
大连 网站制作,大连天途有线官网?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何在万网自助建站中设置域名及备案?
怎样使用JSON进行数据交换_它有什么限制
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Laravel如何使用Sanctum进行API认证?(SPA实战)
Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel如何使用.env文件管理环境变量?(最佳实践)
JavaScript常见的五种数组去重的方式
如何用虚拟主机快速搭建网站?详细步骤解析
如何获取上海专业网站定制建站电话?
音乐网站服务器如何优化API响应速度?
,怎么在广州志愿者网站注册?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
如何选择PHP开源工具快速搭建网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
Swift中swift中的switch 语句
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何快速搭建支持数据库操作的智能建站平台?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
如何用已有域名快速搭建网站?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
UC浏览器如何设置启动页 UC浏览器启动页设置方法
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
Linux系统命令中tree命令详解
Python自动化办公教程_ExcelWordPDF批量处理案例
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Laravel如何实现一对一模型关联?(Eloquent示例)
如何在IIS服务器上快速部署高效网站?


