新的 laravel/homestead 配置中的 GitHub OAuth 令牌的 Composer 错误

Posted

技术标签:

【中文标题】新的 laravel/homestead 配置中的 GitHub OAuth 令牌的 Composer 错误【英文标题】:Composer error with GitHub OAuth token on fresh laravel/homestead provision 【发布时间】:2015-10-24 08:03:12 【问题描述】:

Fresh 安装了一个laravel/homestead vagrant box,按照文档,运行init.sh,配置Homestead.yaml 并运行$ vagrant up; vagrant ssh。然后cd'ed 到项目的文件夹并运行composer install

它挂起等待带有以下消息的token

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
- Installing sebastian/diff (1.3.0)
Downloading: Connecting...
Could not fetch https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3, 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+homestead+2015-08-01+2140
to retrieve a token. It will be stored in "/home/vagrant/.composer/auth.json" for future use by Composer.
Token (hidden):

我以前用过laravel/homestead,但我从来没有做过这些,这是一些未记录的新功能还是错误还是我做错了什么?

【问题讨论】:

【参考方案1】:

从个人访问令牌转到设置然后开发人员设置,您可以生成一个新令牌

【讨论】:

【参考方案2】:

如果您还没有 GitHub 帐户,则需要创建一个 GitHub 帐户,然后按照说明 here 复制令牌。

获得令牌后,再次运行 composer install,然后在提示您输入令牌时将其粘贴。

【讨论】:

这解决了它。我只是对它为什么突然要一个令牌感到困惑;比如,我已经使用 Laravel 一年了,从来没有被要求提供令牌。 如何在windows的命令行中再次运行composer install? 你突然不得不这样做的原因是你已经超过了 Github API 的速率限制,目前是每小时 60 个请求。【参考方案3】:

该错误表示您的 IP 地址已超出 API 速率限制。

您可以:

稍等片刻,然后重试, 更改您的 IP 地址(例如通过代理或 *** 连接),

按照消息的建议指定您的身份验证令牌:

请创建一个 GitHub OAuth 令牌以超过 API 速率限制 前往https://github.com/settings/tokens/new?scopes=repo

并传入您的 Composer 命令或手动添加到 ~/.composer/auth.json,例如


    "http-basic": ,
    "github-oauth": 
        "github.com": "__TOKEN__"

注意:在 Windows 上,它位于 %APPDATA%/Composer

或通过以下命令手动添加设置(根据comment):

composer config -g --unset github-oauth.api.github.com
composer config -g github-oauth.github.com __TOKEN__

【讨论】:

以上是关于新的 laravel/homestead 配置中的 GitHub OAuth 令牌的 Composer 错误的主要内容,如果未能解决你的问题,请参考以下文章

vagrant laravel homestead http服务器的IP地址

sh Laravel Homestead配置脚本,包括WP-CLI和AWS-CLI

Laravel Homestead 中的 PHPUnit 测试失败

本地xdebug调试搭建 Laravel+homestead+phpstorm

有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?

有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?