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

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

提问人:Leo 提问时间:5/10/2019 更新时间:1/31/2022 访问量:9678

问:

继续尝试再次上班。我刚刚问了这个问题(并得到了很好的答复,谢谢):npm ERR! 缺少对等点 dep:firebase-admin@^7.0.0,[email protected] 需要firebase serve

这样做时,我现在看到预期的输出。npm list firebase-admin-- [email protected]

但是仍然不起作用。我明白了: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 servefirebase-admin

firebase 谷歌云函数 firebase-admin

评论

3赞 Nick Ellsworth 5/10/2019
看到同样的事情。还尝试了节点 8 和节点 10,但没有工作
0赞 Mangesh 6/8/2020
stackoverflow.com/a/61489395/3273962

答:

8赞 M.Lewis 5/10/2019 #1

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

我不知道答案,但开始环顾节点版本。

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

// functions/package.json

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

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

评论

2赞 Martin Zeitler 5/10/2019
设置也可能是一个选项。"node": "8"
2赞 Leo 5/10/2019
谢谢。我已经安装并正在使用版本 8。我已更改为 .我已经删除并运行了.我仍然收到同样的错误。nvm"node": "8"package-lock.jsonnode_modulesnpm install
9赞 Nick Ellsworth 5/10/2019 #2

我看到了同样的事情,看起来您可以将 firebase-tools 版本降级到 6.8.0

npm install [email protected] -g

(我已经试过了,它有效)

评论

0赞 Leo 5/10/2019
谢谢,这有效。它还解决了我在这里报告的问题:stackoverflow.com/questions/56026747/......
0赞 Robert Moskal 7/20/2019
这对我不起作用。模拟器会命中部署到 firebase 的函数,而不是从 localhost 提供该函数。
1赞 Kimanthi K. 2/8/2020 #3

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

评论

1赞 Dulara Malindu 10/27/2020
现在 firebase-admin 支持 Node 10 及更高版本。他们在他们的 npm 库页面上提到了这一点。npmjs.com/package/firebase-admin
0赞 secret 1/31/2022 #4

删除文件夹。 在包含 的目录中再次运行。 这解决了我的问题。node_modulenpm installpackage.json