日本語教師、プログラマーになる。

韓国に嫁いで日本語を教えていましたが、なんやかんやでiOSアプリ作ってます。

firebase initでAuthentication Errorとかいうのが出て来て戦った記録

firebase loginまでは成功するのに

firebase initってしたら、なんか怒られるときの対処法。

 

 

まず、initするとあの有名な炎の絵文字で作られた「FIREBASE」ってやつが出るからテンション爆上げ。ここまで来たらもう安泰だと思ってたよね。

↓これね。

f:id:lavandin:20180912004703j:plain

 

違うんだよね。おかしいなとは思ってたんだよ。なんか、すげえずれてて読めないからね。まぁそれは関係ないんだけども、この後、色々聞かれるって言われてたのに何も起こらない。しかもなんか不穏な文章が表示されてる…。

 

f:id:lavandin:20180912004802j:plain

 

Error: Authentication Error: Your credentials are no longer valid. Please run firebase login --reauth

For CI servers and headless environments, generate a new token with firebase login:ci

 

なんかこういうのが出る。何?さっきログインしたばっかなのにno longerだと?

意味がわからない。

 

とにかくもっかいログインしろ!と言われるので、あっはいという感じでもう一回ログインする。

 

$firebase login --reauth

 

同じ。

 

何なんだよ。というわけで、検索してみた。やばい。日本語の情報が全然見つからない。アチャー。全商英検3級*1にはつらい。

というわけで以下、いろいろ試してみた。

 

「一旦ログアウトしてからもう一回ログインしてみろ」

 

$firebase logout

$firebase login

 

同じ。

 

「PCを再起動しろ」

 

同じ。

 

「sudoでやれ」

 

$sudo firebase login

$sudo firebase init

 

同じ。

 

「--no-localhostでログインしたらできた」

 

$firebase login --no-localhost

$firebase init

 

これをやると、いつものように「ワッフー!あなたは直ちにこのウィンドウを閉じてもよい!」とは言われずに、コードが表示されてターミナルにコピペしてねって言われる。魔法の呪文みたいで否が応でも期待は高まる。が、同じ!!!!!!

 

「中国在住なら金盾のせいだから諦めろ」

 

中国じゃねーーーよ!!!!!!韓国だよ!!!!!(激おこ)

 

NODE_TLS_REJECT_UNAUTHORIZEDを0にするといいよ」

!?

 

juejin.im

github.com

 

調べてみたらどうも環境変数にこれを入れるといいらしい。しかし、なんとも不穏な感じがする。大丈夫なのかな。

 

qiita.com

 

証明書のエラーを無視する設定らしい。ヤバそうな感じがする。しかし、背に腹は変えられないし、天下のグーグル様なのだから、もうどうにでもなーれという感じでこれを試してみることに。

 

しかし、メロスには環境変数がわからぬ。はるか昔にいじくり回した気もする(だからこそnpmが入っているのである)が覚えていない。環境変数変数を調べるには、ターミナルで

 

$node

>process.env

 

で一覧が出る。ふーむ、確かにNODE_TLS_REJECT_UNAUTHORIZEDとやらは入っていない。そりゃそうか。

で肝心のこの環境変数をいじくり回す方法だが、なんだかモジュールを入れる方法ばかりが出てくる。うげー。今の所、そんなにがっつりNode.jsをやる予定はない。私は今、ただサクッと焚き火を起こして温まりたいのである。温もりが欲しいのである。というわけで、exportというのが簡単だという情報を得た。setというのも出て来たが、これはWindowsのもので、Macではやはりexportを使うのだということがわかった。やってみた。

 

>export NODE_TLS_REJECT_UNAUTHORIZED=0

...

 

なんか3点リーダっぽいのが出て来た!!いけるぞ!!

と思ったが、全然終わらない。なんだか嫌な予感がする。これ離脱できるのだろうか。

 

... .exit

 

できた。焦った。

気を取り直してきちんとした正しい用法容量を調べる。なんと、nodeをきちんと終了してなかったのが原因だったようだ…。そりゃそうだ…。exportはnodeの命令ではなく、ターミナルでパスを通すコマンドである。やっぱり基礎がガタガタだとこういうことが起こるんだなぁ。

 

$export NODE_TLS_REJECT_UNAUTHORIZED=0

 

待ち時間はあるが、反応がないので不安だ。もっかい確認しよう。

 

$node

>process.env

 

f:id:lavandin:20180912004836j:plain

 

入ってる!!!!!!!

これで、もう一度

 

$firebase init

 

したらすんなりできた。何だったんだ。

やったぞ。ちくしょう。

よかったよかった。先人の知恵に感謝。ありがとうございました。

*1:商業高校に通っている高校生だけが受験できるなかなかレアな資格。なぜ受かったのか今でもわからない。