Firebase

Firebase EmulatorのJavaのバージョンでのエラー 「Please upgrade to Java version 11 or above to continue using the emulators.」

本サイトの記事内にアフィリエイト広告が含まれる場合があります。

Firebase EmulatorのJavaのバージョンでのエラーのサムネイル画像

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

個人開発でNuxt3とFirebaseでの環境構築をしていた。

Firebase Emulatorを使うために色々ドキュメントや記事を見ながら進めていたところ、Javaのバージョンエラーに遭ってしまったため、本記事に記録します。

エラー内容

下記コマンドでエミュレーターを起動させようとしたところ、

firebase emulators:start

エラーが出てしまった。

エラー1

i  emulators: Shutting down emulators.

Error: Process `java -version` has exited with code 1. Please make sure Java is installed and on your system PATH.
-----Original stdout-----
-----Original stderr-----
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

Having trouble? Try firebase [command] --help

どうやらjavaがPCに入っていないよう(インストールした覚えがなかった)なのでhttp://www.java.comへアクセスしインストールしにいった。

http://www.java.comのサイト画像

緑のJavaのダウンロード ボタンを押すだけでダウンロードが始まる。

インストールが完了したので、もう一度コマンド実行しました。

エラー2

⬢  emulators: firebase-tools no longer supports Java version before 11. Please upgrade to Java version 11 or above to continue using the emulators.
i  emulators: Shutting down emulators.

Error: firebase-tools no longer supports Java version before 11. Please upgrade to Java version 11 or above to continue using the emulators.

「あれ…?Javaインストールしたけど、、」

ってなりました笑

色々調べた結果、

firebase-toolsは、インストールされているJavaランタイムのバージョンではなく、インストールされているJDKのバージョンを参照するみたい。

JDKをダウンロードしないといけなかったぽいですね。

Emulator Suite をインストールする前に、以下が必要です。

  • Node.js バージョン 16.0 以降。
  • Java JDK バージョン 11 以降。
Local Emulator Suite のインストール、構成、統合

ってことで、Java JDKのバージョン11以降をダウンロードしにいきます

Java JDKのインストールしたら治った

私はM1 Macなので、Mac用JDKインストール画面へ行きました。リンクは下記になります

https://www.oracle.com/java/technologies/downloads/#jdk17-mac

JDK17のMacOSで、ARM64 DMG Installerを選択した。

各自環境に合わせてJDKをインストールしてください。

これでfirebase emulators:start したら無事起動しました🎉

hosting port 5000のエラーが出た場合

i  emulators: Starting emulators: auth, firestore, hosting, storage
⚠  hosting: Port 5000 is not open on localhost (127.0.0.1,::1), could not start Hosting Emulator.
⚠  hosting: To select a different host/port, specify that host/port in a firebase.json config file:
      {
        // ...
        "emulators": {
          "hosting": {
            "host": "HOST",
            "port": "PORT"
          }
        }
      }
i  emulators: Shutting down emulators.
⚠  ui: Emulator UI unable to start on port 4000, starting on 4001 instead.

Error: Could not start Hosting Emulator, port taken.

ポートが重複しているエラーですね。このエラーもすぐに治せました。

lsof -i :5000

ってコマンド打つと、5000番が使われている場所を見ることができます。

`kil` すると使えるようになるのですが、Macの場合、AppleのAirPlayのRecieverで5000番ポートを占有しているようです。

firebase.jsonのhostingのportを5002に変更することでエラーがエミュレータの起動ができると思いますす。

"hosting": {
  "port": 5002
}

最後に

NuxtもFirebaseもまだまだ分からないことだらけなので、じっくり勉強してアプリ開発に活かせるように頑張りたいです〜

参考記事

http://www602.math.ryukoku.ac.jp/OOProg/jdk-mac.html

https://stackoverflow.com/questions/72438409/firebase-tools-no-longer-supports-java-version-before-11-please-upgrade-to-java

  • この記事を書いた人

awayuki

音大出身。学生時代はフリーランスでWEB制作・開発しながら、2社で長期エンジニアインターンを経験しました(2年半)。 23卒で、自社開発ベンチャー企業に入社しエンジニア・デザイナーとして働き、2024年1月起業しました! このブログでは、ブログ開設方法・プログラミング・音大からエンジニアになれた方法など書いています。 お仕事依頼はお問い合わせフォームからお問い合わせお願いします。 Zenn

-Firebase
-, ,