7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Firebaseのログインアカウントをディレクトリ毎に切り替える、たった一つの賢い方法

Last updated at Posted at 2020-08-19

モチベーション

  • firebase-toolsを使うにはfirebase loginで事前にログインしておかないといけない
    • デフォルトだと$HOME/.configに置かれるのでログインユーザにつき1つしかログインしておけない
  • 別のGoogleアカウントを使用する、複数のプロジェクトを行き来するのに都合が悪い
    • うっかり違うアカウントでfirebase deployしても「アカウントが違う」とは教えてくれないので無駄にハマったりする(1敗)

解決方法

  • firebaseコマンドは環境変数XDG_CONFIG_HOMEで指定されたプロファイルを見に行くのでプロジェクト毎にこれを指定してあげる
  • direnvを使ってディレクトリ毎に環境変数を設定する

バージョンとか

  • Mac OSX Catalina 10.15.5
  • firebase-tools v8.7.0

実践


$ brew install direnv
...
# direnvのインストールマニュアル見てね

$ cd your-nice-project

# これでこのディレクトリではfirebaseのプロファイルは.config以下になる
$ echo export XDG_CONFIG_HOME=.config >> .envrc

# わすれずに
$ direnv allow

# ブラウザが開くので正しいアカウントを選択
$ firebase login

# なんかできていればOK
$ ls .config

# まぁ.gitignoreに入れておいたほうがいいでしょう
$ echo .config >> .gitignore

# 基本的には.envrcも.gitignoreに入れておいたほうが安心
$ echo .envrc >> .gitignore

# ご安全にデプロイ! 
$ firebase deploy
7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?