github token必须为classic类型,至少勾选repo和read:packages权限;需用composer config --global github-oauth.github.com 配置,并执行composer clear-cache生效。

直接配 GitHub Personal Access Token 就行,不配就永远卡在每小时 60 次的匿名限额里。错误不是网络或 Composer 版本问题,而是 GitHub 强制要求身份标识——哪怕你 require 的只是一个公开包,也得带凭证。
怎么生成合法的 GitHub Token
Token 必须是 classic 类型(非 fine-grained),且至少勾选两个权限:
-
repo:读取公开/私有仓库元数据(public_repo不够,私有 fork 或某些 dist 解析会静默失败) -
read:packages:如果你用 GitHub Packages(比如私有 PHP 包托管在 GH Packages)
不要勾选 delete_repo、admin:org 等高危项;Token 创建后只显示一次,关页即不可查,务必立刻复制保存。
怎么让 Composer 正确读到 Token
必须用 composer config --global github-oauth.github.com <your_token></your_token> 命令写入,不能手动编辑 auth.json,也不能写成 github-oauth.api.github.com——Composer 只认 github.com 这个 host 名,不自动继承子域。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
写入后检查是否生效:
- 运行
composer config --global --list | grep github-oauth,应看到github-oauth.github.com条目 - 确认
~/.composer/auth.json(Linux/macOS)或%APPDATA%\Composer\auth.json(Windows)存在且权限为600(chmod 600 ~/.composer/auth.json),否则 Composer 会静默忽略 - 如果项目根目录下也有
auth.json,它会覆盖全局配置——删掉或确保内容一致
为什么配了还是报 403 或 429
常见真实原因不是 token 错,而是环境错:
- 执行
composer config --global的用户和跑composer install的不是同一个(比如 CI 里用root跑命令,但实际构建用的是www-data) - 公司代理或防火墙拦截了
Authorization请求头,token 根本没发出去(可用curl -H "Authorization: token xxx" https://api.github.com/rate_limit单独验证) - 错误提示是
429 Too Many Requests且指向packagist.org?那要的是 Packagist Token,不是 GitHub Token——去 https://www.php.cn/link/10fa97233fb64af4b6ce8316d0bc2eca 的 API Token 栏生成,再配进同一份auth.json - CI 环境(如 GitHub Actions)必须用
${{ secrets.GITHUB_TOKEN }}注入,不能复用个人 token;且命令不能加--global,应为composer config github-oauth.github.com $GITHUB_TOKEN
最易被忽略的一点:token 生效后,Composer 仍可能读旧缓存发起未认证请求。配完务必执行 composer clear-cache,再重试安装或更新。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










