如何获取Github API Token以解决Composer的速率限制问题? (API认证)
发布时间 - 2026-01-10 00:00:00 点击率:次Composer 触发 GitHub 速率限制是因为未认证请求走匿名 API 通道(每小时限 60 次),大量拉取包时易超限;需用带 repo 权限的 Personal Access Token 配置 composer config -g github-oauth.github.com 。
为什么 Composer 会触发 GitHub 的速率限制?
未认证的 Composer 请求默认走 GitHub 的匿名 API 限流通道,每小时最多 60 次请求。一旦 composer install 或 composer update 需要从 GitHub 拉取大量包(比如私有仓库、带 Git Submodule 的依赖、或频繁访问 Packagist 镜像未缓存的元数据),就会收到 403 rate limit exceeded 错误。
如何生成 Personal Access Token 并配置给 Composer?
GitHub 已弃用密码登录 API,必须使用 Personal Access Token(PAT),且需勾选 repo 权限(读取私有仓库)和/或 public_repo(读取公开仓库)。Composer 不支持 OAuth App Token 或 Fine-grained Token(后者在 2025 年后对 Git 操作兼容性不稳定)。
- 访问 https://www./link/9c450eb90c31bc12f1691f235da5a0cc
- Token description 填写如
composer-github-auth - 勾选
repo(必需),可选delete_repo(仅当你用 Composer 删除仓库时才需要) - 生成后立即复制该 token —— 页面关闭后无法再次查看明文
- 运行命令写入全局配置:
composer config -g github-oauth.github.com
注意:github.com 是域名,不是用户名;token 必须粘贴完整,不能有多余空格或换行。
验证是否生效及常见失败原因
执行 composer diagnose,若看到 GitHub API: OK 表示认证已通过。但以下情况仍会失败:
- token 权限不足:未勾选
repo→ 报错401 Unauthorized - token 过期或被手动删除:GitHub 不主动过期 PAT,但用户可能误删 → 报错
401 Bad credentials - Composer 使用了错误的域:例如配置成
github.com:xxx或api.github.com→ 实际只认github.com作为 host key - 项目级配置覆盖了全局配置:检查项目根目录下的
auth.json是否存在冲突项
临时调试可用:
COMPOSER_AUTH='{"github-oauth":{"github.com":"xxx..."}}' composer update 绕过配置文件直接注入。
敏感信息安全与 CI 环境适配
本地开发可放心用全局配置,但 CI 环境(如 GitHub Actions、GitLab CI)绝不能硬编码 token。应使用环境变量注入:
- GitHub Actions 中:把 token 存为
secrets.GITHUB_TOKEN,并在 step 中用composer config github-oauth.github.com ${{ secrets.GITHUB_TOKEN }} - 避免在
auth.json中提交 token:该文件默认被.gitignore排除,但若误提交,GitHub 会自动废止该 token 并发邮件警告 - 如需多账号协作(如公司账号 + 个人账号),不要共用一个 token;Composer 支持 per-repository auth,但更推荐统一用组织级 token + SSO 授权
真正容易被忽略的是:GitHub 的 token 作用域是账户级的,一旦泄露,等同于交出整个账号的代码读写权限 —— 所以宁可多建几个最小权限 token,也不要复用一个“全能” token。
# js
# git
# json
# composer
# github
# 编码
# app
# access
# ai
# 环境变量
# gitlab
# Token
# 并发
# 作用域
# https
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
如何在阿里云虚拟主机上快速搭建个人网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Laravel如何使用Blade组件和插槽?(Component代码示例)
如何在宝塔面板中修改默认建站目录?
如何在云服务器上快速搭建个人网站?
EditPlus中的正则表达式 实战(4)
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
如何在IIS中新建站点并解决端口绑定冲突?
如何在阿里云完成域名注册与建站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何解决hover在ie6中的兼容性问题
网站制作企业,网站的banner和导航栏是指什么?
打造顶配客厅影院,这份100寸电视推荐名单请查收
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Bootstrap整体框架之CSS12栅格系统
魔方云NAT建站如何实现端口转发?
如何快速搭建安全的FTP站点?
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
,在苏州找工作,上哪个网站比较好?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
如何在万网自助建站平台快速创建网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何快速搭建支持数据库操作的智能建站平台?
香港服务器租用费用高吗?如何避免常见误区?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
Linux系统命令中screen命令详解
C#如何调用原生C++ COM对象详解
*服务器网站为何频现安全漏洞?
如何快速搭建高效WAP手机网站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
Laravel如何自定义分页视图?(Pagination示例)
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
清除minerd进程的简单方法
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
动图在线制作网站有哪些,滑动动图图集怎么做?


取包时易超限;需用带 repo 权限的 Personal Access Token 配置 composer config -g github-oauth.github.com 。