Posted at

composerでGitHub apiのアクセス制限対処法

More than 3 years have passed since last update.


経緯

Fuelphpインストール時にGitHub apiのrate limitに引っかかり、トークンを要求され、インストールが失敗しました。

以下その時のエラーメッセージ



Could not fetch ~, please create a GitHub OAuth token to go over the API rate limit

Head to ~ to retrieve a token. It will be stored in "/home/vagrant/.composer/auth.json" for future use by Composer.

Token (hidden):

1日置いても解除されなかったので、tokenを取得、設定しました。


token取得方法

次のコマンドを実行します。



curl -u '[user name]' -d '{"scopes":["repo"],"note":"Help example"}' https://api.github.

com/authorizations



[user name]箇所をgithubのアカウント名に変更すればOKです。

実行後、githubのログインパスワードを聞かれますので、そのまま入力してください。


成功時

成功した場合、以下の形式のjsonデータが返ってきます。

{

"id": ■■■,
"url": "■■■",
"app": {
"name": "■■■",
"url": "■■■",
"client_id": "■■■"
},
"token": "■■■",
"hashed_token": "■■■" "■■■": "■■■",
"note": "■■■",
"note_url": null,
"created_at": "■■■",
"updated_at": "■■■",
"scopes": [
"■■■"
],
"fingerprint": null
}


失敗時

失敗した場合、以下の形式のjsonデータが返ってきます。

ユーザー名やパスワード、コマンドが間違っていないか、再度確認してください。



{

"message": "Bad credentials",

"documentation_url": "https://developer.github.com/v3"

}


token設定方法

[get token]の部分を成功時のjsonのtoken項目の値に置き換えることで、composerにtokenが設定されます。



composer config -g github-oauth.github.com [get token]

以上で完了です。