対象者
Apple Silicon (M1) を使って Firebase Hosting を使おうとして手順通りに作業していたら firebase login に失敗した僕のような方🧜♂️
動作成功した環境
- マシン: Mac mini(M1, 2020)
- OS: macOS Big Sur 11.2
- zsh: 5.8 (x86_64-apple-darwin20.0)
- nvm -v: 0.37.0
- npm -v: 7.6.3
- node -v: v15.12.0
結論
nodejs のバージョンを v15 以上にしましょう。これだけで解決します。
理由
nodejs v15 の CHANGELOG 参照。
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V15.md#15.0.0
arm64 の対応をはじめていることがわかる。
つまり 記事を書いた現在 Stable は 14.16.0 なのだが、これを使うとハマる。
ハマったときの話
1. ndenv 使ってたらハマった
まずは arm64 に対応した nodejs をバージョン管理できるものを入れましょう。
管理ツールは nvm でも nodenv でも構いません。
僕のように ndenv を使ってた方は arm64 に対応したパッケージがなくて BUILD FAILED します(少なくとも記事を書いていた現在は失敗した)
2. stable な node version 14 以前を使ってたらハマった
nodejs のホームに着地したら記事を書いている現在は stable が 14.16.0, latest が 15.12.0 だった。
普段なら latest を使うのだが、このときは他の人に依頼されたホームページをサクッと作りたかったので変にハマりたくなくて stable の 14.16.0 を採用した。
が、これが罠で npm install -g firebase
までは成功するのだが、 firebase login
で abort する。
最初は管理ツールのビルド時になんか失敗してるのかなーと思って管理ツールを変えてみたのだが、説明済みの通り問題は node の version にあるので成功するはずもなく...
結局訳分からなくて色々調べてたら CHANGELOG に行きついて、 latest ならいけるんちゃう?と思って試したらあっさりいけた。
ツイート
この記事で一人でも多くの僕のような民が救われますように🐳