firebase initでAuthentication Errorとかいうのが出て来て戦った記録
firebase loginまでは成功するのに
firebase initってしたら、なんか怒られるときの対処法。
- 「一旦ログアウトしてからもう一回ログインしてみろ」
- 「PCを再起動しろ」
- 「sudoでやれ」
- 「--no-localhostでログインしたらできた」
- 「中国在住なら金盾のせいだから諦めろ」
- 「NODE_TLS_REJECT_UNAUTHORIZEDを0にするといいよ」
まず、initするとあの有名な炎の絵文字で作られた「FIREBASE」ってやつが出るからテンション爆上げ。ここまで来たらもう安泰だと思ってたよね。
↓これね。
違うんだよね。おかしいなとは思ってたんだよ。なんか、すげえずれてて読めないからね。まぁそれは関係ないんだけども、この後、色々聞かれるって言われてたのに何も起こらない。しかもなんか不穏な文章が表示されてる…。
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にするといいよ」
!?
調べてみたらどうも環境変数にこれを入れるといいらしい。しかし、なんとも不穏な感じがする。大丈夫なのかな。
証明書のエラーを無視する設定らしい。ヤバそうな感じがする。しかし、背に腹は変えられないし、天下のグーグル様なのだから、もうどうにでもなーれという感じでこれを試してみることに。
しかし、メロスには環境変数がわからぬ。はるか昔にいじくり回した気もする(だからこそ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
入ってる!!!!!!!
これで、もう一度
$firebase init
したらすんなりできた。何だったんだ。
やったぞ。ちくしょう。
よかったよかった。先人の知恵に感謝。ありがとうございました。
*1:商業高校に通っている高校生だけが受験できるなかなかレアな資格。なぜ受かったのか今でもわからない。