Composerを利用して短時間で大量のパッケージを取得すると、GithubのAPI実行回数制限に引っかかってまうばあいがあります。上限に掛かるとComposerは、認証のためにgithubのユーザIDとpassowordを要求します。要求通りIDとパスワードを入力すればユーザ認証が行われ、回数制限の上限が緩和されるので処理が先に進みます。
ですが、共有のPCを使っているときなど、IDやパスワードを直接入力したくない場合があります。このような場合は、githubから取得出来るOAuthトークンを利用すると良いです。
OAuthの生成とComposerへの設定方法
もし、ComposerコマンドからGithubの認証情報の入力を望まない場合は、トークンを利用して、手動で認証することができます。
以下の手順に従ってください。
GitHubで、OAuthトークンを生成します。
GitHubにログインし、Setting画面のにアクセスします。
左メニューのPersonal access tokenの中にある、Generate new tokenを選択して、トークンを生成してください。
ボタンをクリックすると、スコープの指定が要求されるので、通常はpublic_repoだけチェックをいれてトークを作れば大丈夫です。
トークン生成についての詳細は、こちらに記載があります。
ComposerにOAuthトークンを追加
下記のコマンドを実行して、configの設定値にOAuthトークンを追加してください。
composer config -g github-oauth.github.com OAuthのトークン
これでComposerに認証情報を尋ねられることなく、インストールやアップデートが実行できるようになります。
githubのAPI実行回数制限に掛かりやすい状況
環境によっては、あまりgithubにアクセスしていないはずなのに、回数制限に掛かってしまう場合があります。大きな企業でプロキシサーバ経由でアクセスしている場合は、発信元IPアドレスが同一になるので、社内で他の人がgithubへアクセスしていると、制限に掛かりやすくなります。
githubのAPI実行回数制限のチェック方法
下記のWebAPIを実行すると、現在の制限値(いつまでに、あと何回呼び出せるか)を確認できます。
https://api.github.com/rate_limit