Cloud Functions 模拟器需要安装模块 "firebase-admin"

The Cloud Functions emulator requires the module "firebase-admin" to be installed

继续尝试让 firebase serve 重新工作。我刚刚问了这个问题(并得到了很好的答复,谢谢):

在执行 npm list firebase-admin 时,我现在看到了预期的输出 -- firebase-admin@7.3.0

但是firebase serve还是不行。我明白了:

!  Your requested "node" version "6" doesn't match your global version "10"
...
!  The Cloud Functions emulator requires the module "firebase-admin" to be installed. This package is in your package.json, but it's not available. You probably need to run "npm install" in your functions directory.
i  functions: Your functions could not be parsed due to an issue with your node_modules (see above)

所以firebase serve仍然没有看到firebase-admin模块。到底是怎么回事?我该怎么办?

看来这个问题现在与您在本地安装的 Node 版本有关。

我不知道答案,但开始查看节点版本。

在你的 functions/package.json - 可能是你需要指定要使用的节点版本 (https://firebase.google.com/docs/functions/manage-functions):

// functions/package.json

{
  "name": ...,
  "scripts": ...,
  "dependencies": ...,
  
  "engines": {
    "node": "10"
  }
 
}

请注意,Node 10 在 Firebase 上仍处于测试阶段。

我看到了同样的事情,看起来你可以 downgrade your firebase-tools version to 6.8.0

npm install firebase-tools@6.8.0 -g

(我已经试过了并且有效)

基本上这意味着您应该降级到 Node 6 或 8,而不是 升级到 10(因为您系统中的节点版本是 10,而 Firebase 正在请求版本 6)。 Firebase 尚不支持 Node 10+ 甚至最新版本 12.15.0

打开终端并进入您的 /myProject/functions 文件夹。

然后,运行 npm install

所有必需的模块都应该出现在 node_modules 文件夹中。

删除 node_module 文件夹。 再次 运行 npm install,在包含 package.json 的目录中。 这解决了我的问题。