ページ

2017年9月15日金曜日

複数アカウントでFirebaseCLIを使う

個人や会社のアカウント等、プロジェクト毎にアカウントが違うような
複数アカウントでFirebaseCLIを使う時に自分がやっている方法です。
(他に良い方法があればご教示ください)


状態


すでにfirebase loginしててログイン済み
$ npm install -g firebase-tools
$ firebase login

configstore


firebase-toolsconfigstoreを使ってアカウント情報を
~/.config/configstore/firebase-tools.jsonに保存している。
また、configstoreはデフォルトでは~/.configを見に行くが
XDG_CONFIG_HOMEの環境変数が設定されていればそちらを見に行く。

direnv


ディレクトリ毎に環境変数を定義してくれるdirenvを使用して
各プロジェクトのルートディレクトリに移動した時にXDG_CONFIG_HOMEを変えます
各プロジェクトのルートディレクトリに.envrcを配置
export XDG_CONFIG_HOME=~/.config-xxxx
こんな感じにして、事前にログインした~/.config/configstore/firebase-tools.json
~/.config-xxxx/configstore/firebase-tools.jsonにコピーします。
するとプロジェクトに移動した時点で
> cd  XXXXX
direnv: loading .envrc   
direnv: export +XDG_CONFIG_HOME
環境変数XDG_CONFIG_HOMEが設定されます。

アカウント確認方法


$ firebase list
でプロジェクト一覧が見れます。