【问题标题】:Composer could not fetch githubComposer 无法获取 github
【发布时间】:2016-05-31 12:38:53
【问题描述】:

今天,我尝试通过运行 composer create-project laravel/laravel=5.1.* myproject --prefer-dist 来安装 Laravel,但出现此错误:

Could not fetch https://api.github.com/repos/laravel/laravel/zipball/716e65268ae123e5bd73e505acf9695c678aff88, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+MyPC+2016-02-19+0343 to retrieve a token. It will be stored in "C:/Users/MyPC/AppData/Roaming/Composer/auth.json" for future use by Composer.

为什么我无法从 GitHub 获取?这是我使用多年后第一次遇到这种情况。 GitHub 是否有任何政策变化?

【问题讨论】:

标签: php github composer-php


【解决方案1】:

Niels 接受的答案是正确的。要在 composer 中使用生成的令牌,请使用以下命令:

composer config -g github-oauth.github.com YOUR_TOKEN

【讨论】:

【解决方案2】:

遗憾的是,该政策在 Github 上已经活跃了很长时间。它记录在here 中,您可以在core 部分的https://api.github.com/rate_limit 中查看您的当前状态。

另见https://developer.github.com/v3/#rate-limiting:

对于未经身份验证的请求,速率限制允许您每小时最多发出 60 个请求。未经身份验证的请求与您的 IP 地址相关联,而不是与发出请求的用户相关联。

Composer 无法避免这种情况,因此它会抛出详细错误:

创建一个 GitHub OAuth 令牌以超过 API 速率限制

您可以在https://github.com/settings/tokens 执行此操作,并且每次安装只需执行一次,因为 Composer 会记住后续请求的令牌。

【讨论】:

  • read:packages 范围是否足够或是否有其他应授权的授权?
【解决方案3】:

2022 年 Composer 2.x 更新

我尝试了此处列出的其他解决方案,但它们对我不起作用。检查composer update 的详细输出,我发现您可以使用git 设置github.accesstoken 配置选项,Composer 将使用它。

  1. 创建GitHub Personal Access Token 并将令牌复制到剪贴板
  2. 运行git config --global github.accesstoken <token>,用上面的令牌替换<token>

如果您想专门为当前项目设置令牌,您可以删除--global 选项。

【讨论】:

  • 啊,这对我有用,应该是 Composer v2 的公认答案 :)
  • 谢谢 - 你知道令牌需要什么最低权限吗?
猜你喜欢
  • 2021-04-27
  • 1970-01-01
  • 1970-01-01
  • 2022-07-15
  • 1970-01-01
  • 2017-07-07
  • 2015-12-23
  • 2020-06-12
  • 2022-10-23
相关资源
最近更新 更多