Firebase Cloud Functions仿真器抛出“已退出代码:1”错误

时间:2019-06-29 18:17:22

标签: firebase google-cloud-functions

我正在尝试设置本地环境以测试Firebase云功能。我一直关注their documentation,但现在遇到以下错误:

  

错误:firestore:仿真器已退出,代码为1

我发现了与此问题有关的其他SO线程,但没有包含我的特定日志:

i  Starting emulators: ["functions","firestore","hosting"]
⚠  Your requested "node" version "8" doesn't match your global version "12"
✔  functions: Emulator started at http://localhost:5001
i  firestore: Logging to firestore-debug.log
✔  firestore: Emulator started at http://localhost:8080

Error: firestore: emulator has exited with code: 1

firestore-debug.log文件并没有真正向我提示:

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/cloud/datastore/emulator/firestore/CloudFirestore : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

这里的任何人都知道导致此错误的原因是什么

6 个答案:

答案 0 :(得分:1)

要检查是否已安装JDK,请运行:

javac -version

如果未找到JDK,请从此处下载: https://www.oracle.com/java/technologies/javase-downloads.html

(总是最新版本)。

答案 1 :(得分:1)

除了下载JDK,我还需要重新启动计算机。

答案 2 :(得分:1)

在 macOS 10.14 上,我需要安装最新的 openjdk 并启用它:

brew install openjdk

在安装过程中,它将显示有关如何启用 openjdk 的说明。对我来说是:

For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn \
    /usr/local/opt/openjdk/libexec/openjdk.jdk \
    /Library/Java/JavaVirtualMachines/openjdk.jdk

答案 3 :(得分:0)

只需从here下载最新的JDK版本

答案 4 :(得分:0)

万一有人还在为此挣扎:

再次在终端运行emulators:start,然后在终端运行--debug命令,以查看崩溃的原因。

答案 5 :(得分:0)

使用AdoptOpenJDK Windows安装程序来自动获取环境设置会更加方便。

How to install OpenJDK 11 on Windows?

https://adoptopenjdk.net/

您仍然需要刷新cmd或powershell才能访问安装程序安装程序中的新环境变量PATH和JAVA_HOME。