Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

gcloud auth login したときに localhost:8085に接続できない!といってエラーになる場合BROWSER環境変数があるとうまくいった。原因は知らない。

タイトルで全てが説明されているので後は蛇足です。

環境

M1 MacBook Air + macOS Big Sur 11.0.1 + Terminal.app + zsh + デフォルトブラウザはSafari の場合です。いろんなところに罠があるので賞味期限の短い話題ですね。なぜ Terminal.app と Safari かといえば、新しいMacを買うとしばらくはなるべく純正品で生活しようというライフサイクルになっているからです。

gcloud コマンドのバージョンはこんな感じ。

gcloud --version
Google Cloud SDK 319.0.0
bq 2.0.62
core 2020.11.13
gsutil 4.55

起きていたこと

タイトル通りです。gcloud auth login とかしたとき、ブラウザで認証を行うとき、最後にタイムアウトしてしまいます。localhost:8085 に接続できないといって怒られるのですが、localhost:8085はポートは空いてるしリダイレクトも動作していると思われる。なぜ。

回避策

Google Chromeを使う BROWSER 環境変数を設定したらうまくうごく様になった。なぜ。

% BROWSER=open
% gcloud auth login 

どうしてもダメな場合はサーバで環境設定するときのように gcloud auth login --no-launch-browser してブラウザから手動で認証コードを取得するとよさそう。BROWSER環境変数設定するとうまくいく理由はわかってない。面白いですね。たぶんBROWSER環境変数がない場合に gcloud がブラウザを直接開いたりして、その場合にプロセス間通信や別プロセス起動した時の戻り値の取得とか何かそういうアレがあるのだろう、と想像はしています。

hatena-corp
「知る」「つながる」「表現する」で新しい体験を提供し、人の生活を豊かにする
https://hatenacorp.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away