添加第二个项目后 Firebase 部署失败

bat*_*ery 4 firebase google-cloud-functions firebase-cli

使用命令将第二个项目添加到我的代码后$ firebase use --add second-project,我收到错误

部署您的功能时出现问题。验证您的项目是否在https://console.cloud.google.com/appengine上设置了 Google App Engine 实例,然后重试。如果此问题仍然存在,请联系支持人员。

错误:HTTP 错误:404,找不到应用程序“第二项目”。

当我跑步时$ firebase deploy

我通过 Firebase 控制台为第二个项目添加了单独的目标和一个 Web 应用程序。

我应该检查什么来消除这个错误?

bri*_*hsu 7

我刚刚也遇到了同样的问题。将此留给将来遇到此问题的任何人。对我来说,导致此错误的原因是权限错误,当时 Firebase 尝试在没有必要的 IAM/服务帐户的情况下访问 Google Cloud 中的特定资源(例如 Cloud Functions)。

当您创建新的 Firebase 项目而不在 Firebase 控制台中设置Default GCP resource location下时,会发生这种情况,当您创建新的 Firebase 项目而不进行任何其他设置时,就会发生这种情况。Settings > General您可以在设置中进行设置,也可以在按照在 Firebase 控制台中设置 Firestore 或 Firebase Storage 等服务的演练说明时进行设置。

如果没有此设置,<YOUR_FIREBASE_PROJECT_NAME>@appspot.gserviceaccount.com将不会在 Google Cloud 中创建 IAM/服务帐户(创建/访问特定资源需要该帐户),因此当您运行 时firebase deploy,它将失败并出现您上面提到的错误。

您还可以检查运行此命令时生成firebase deploy的失败原因firebase-debug.log(这就是我找到此错误原因的方法)。虽然我认为该文件在命令完成执行后被删除,所以您必须将输出通过管道传输到文件中或以其他方式保存。

TL;DR:设置Default GCP resource location,完成此操作的一种方法是在 Firebase 控制台下的Settings > General