環境
Mac OS X: 10.14.6
Homebrew: 2.2.1
事象
Homebrew使用後、GitHubから [GitHub] Deprecation Notice
という件名のメールが届きました。
(brewはbundleコマンドが存在しない状態で brew bundle dump
を実行しました)
GitHubからのメールは以下のような内容でした。
You recently used a password to access an endpoint through the GitHub API using Homebrew/2.2.1 (Macintosh; Intel Mac OS X 10.14.6) curl/7.54.0. We will deprecate basic authentication using password to this endpoint soon:
https://api.github.com/repositories/XXXXXXX
We recommend using a personal access token (PAT) with the appropriate scope to access this endpoint instead. Visit https://github.com/settings/tokens for more information.
適当に訳すと、
Homebrew, curlからBasic認証を使ってGitHub APIにアクセスがあったよ。
Basic認証は廃止になる予定だから、代わりにパーソナルアクセストークンを取得してAPIにアクセスしてね。
という内容かと思います。
原因
Homebrewのいくつかの機能はGitHub APIを使用しています(例:brew tapでのリポジトリ取得)。
GitHub APIの利用制限を超えた場合、APIの利用制限を拡張するために、Homebrewは環境変数HOMEBREW_GITHUB_API_TOKEN
からパーソナルアクセストークンを取得しようとします。
パーソナルアクセストークンが存在しない場合は、Macのキーチェーンからユーザ名とパスワードを取得し、Basic認証を行います。
しかし2019/11/05、GitHubはAPIアクセスのBasic認証を廃止予定としました(URL)。Basic認証が行われるとメールが届くようになっているようです。
解決法
方法1:パーソナルアクセストークンを取得・設定する(要 GitHubアカウント)
-
https://github.com/settings/tokens から 「Generate new token」ボタンを選択し、パスワード入力。
-
「New personal access token」画面。Noteに用途を記入。Select scopesは選択せず、「Generate token」ボタンを選択。
-
生成されたトークンをコピーし、環境変数
HOMEBREW_GITHUB_API_TOKEN
に設定します。
~/.bash_profile
に以下の行を追加します。${YOUR_TOKEN}
は生成されたトークンを入力してください。~/.bash_profileHOMEBREW_GITHUB_API_TOKEN=${YOUR_TOKEN}
方法2:キーチェーンアクセスから github.com の情報を削除する
- キーチェーンに情報が無ければBasic認証できませんので、削除してしまうのも手かと思います。
- 名前: github.com、種類: インターネットパスワードの項目を削除。
参考URL
原因について
アクセストークン取得・設定方法について