我无法在全新安装时运行 firebase 模拟器。获取 ' 语法错误:意外的字符串:重新“使用严格”;'

dom*_*ler 9 firebase google-cloud-functions

我按照https://firebase.google.com/docs/functions/typescript上的教程使用 Typescript 设置 Firebase 函数

但是,当我运行npm run serve或 时firebase emulators:start,模拟器不会启动,但出现以下错误:

[2023-03-25T09:04:16.875Z] /Users/username/.cache/firebase/emulators/ui-v1.11.4/server/server.js:569
        re"use strict";
          ^^^^^^^^^^^^

Run Code Online (Sandbox Code Playgroud)

我尝试删除缓存文件夹,但没有效果。在文件 server.js 中,相关行是:

function createDebug(namespace) {
    function debug2() {
      if (!debug2.enabled)
        re"use strict";
Run Code Online (Sandbox Code Playgroud)

相关库的安装版本是:

firebase --version
11.25.1

node -v
v16.19.1

npm -v
8.19.3

java --version
openjdk 19.0.2 2023-01-17
OpenJDK Runtime Environment Homebrew (build 19.0.2)
OpenJDK 64-Bit Server VM Homebrew (build 19.0.2, mixed mode, sharing)

tsc --version
Version 5.0.2
Run Code Online (Sandbox Code Playgroud)

我不知道该尝试什么,或者重新安装什么。有什么建议我做错了什么吗?

我尝试重新安装所有库,设置一个新的 firebase 项目,安装正确的节点版本,重新安装 jdk。期待模拟器运行。

Ric*_*ose 11

我和你有同样的问题。我在 Firebase 上提出了以下问题。在 MacOS(和 Linux)上遇到了这个问题,但我认为这是我使用的 Node 版本(不是 LTS)的问题。

问题:

经过一番调查,问题的原因如下。

  • Node 版本 - 使用不兼容的 Node 版本。更改为 Node LTS 版本。
  • Java 版本 - 使用不兼容的 Java 版本。更改为使用兼容版本,例如 Java 版本 11

解决:

为了解决这个问题,我修改了主机环境以使用如上所述的兼容版本。Node + Java 组件是最重要的。

在我的设备上,以下设置允许模拟器 UI 成功运行。

node - v16.19.1
npm - 8.19.3
firebase - 11.25.1
java openjdk - 11.0.18
Run Code Online (Sandbox Code Playgroud)

然后我删除了位于以下位置的计算机缓存:

~/.cache/firebase
Run Code Online (Sandbox Code Playgroud)

然后重启模拟器

firebase emulators:start
Run Code Online (Sandbox Code Playgroud)
  • Firebase 模拟器组件应再次下载
  • 模拟器启动没有错误。


小智 10

我遇到过同样的问题

\n
[2023-03-25T09:04:16.875Z] /Users/username/.cache/firebase/emulators/ui- \nv1.11.4/server/server.js:569\n    re"use strict";\n      ^^^^^^^^^^^^\n
Run Code Online (Sandbox Code Playgroud)\n

我用一个标志修复了它:
\n在 firebase.json 中,设置

\n
"ui": {\n  "enabled": false      \xe2\x86\x90 SET TO FALSE\n},\n
Run Code Online (Sandbox Code Playgroud)\n

它对我有用!\n问候

\n