homebrew にて GitHubの API rate limit にかかって怒られた場合の対処方法
MacBook Proを新調したのでいろいろとセットアップ中です。
homebrewの検索 brew search
をしまくっていたら、以下のエラーを見たのでとりあえず対策したのでメモ。
ちなみにエラーに書いてあるとおり待てば時間が解決してくれるエラーなので無理して設定する必要はないです。
$ brew search java app-engine-java-sdk javarepl jslint4java libreadline-java Error: GitHub API rate limit exceeded for 121.108.126.210. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) Try again in 46 minutes 16 seconds, or create an API token: https://github.com/settings/applications and then set HOMEBREW_GITHUB_API_TOKEN.
まあエラーに書いてあるとおり対策はというと環境変数 HOMEBREW_GITHUB_API_TOKEN
に GitHubの API Tokenを設定せよ!ということですね。
GitHubのAPI Tokenは以下の手順で作成できます。
- GitHubにログインする
- 右上の Settings アイコンをクリックして設定ページに移動する
- 左側のメニューから Application を選択して移動する
Generate new token
をクリックするpublic_repo
のみ選択した状態にしてGenerate token
めでたくtokenという名の文字列が表示されるので控えておく(もう二度と参照できないので、忘れたら作りなおす必要がある)
GitHub API Tokenをめでたくゲットしたら、シェルの設定ファイルにでも環境変数をセットすればおしまいです。
例えば、$HOME/.bashrc
あたりに以下を追記してリロード or 再度ログイン等すれば、homebrewから怒られなくなります。
export HOMEBREW_GITHUB_API_TOKEN="さっきゲットしたtoken文字列"
ちなみに前は public_repoへのアクセスのみのAPI権限なんて何に使うんや?と思ってたけどIPで制限かかってたんですね。。。 皆さん ちゃんとその時の用途にあわせて必要最小限の権限を与えたtokenを作りましょう!
GitBucketのAPI Tokenもいつか実装していつか権限設定も細かく・・・