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

时间:2019-11-11 20:12:45

标签: 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应用。

我应该检查些什么以消除此错误?

1 个答案:

答案 0 :(得分:3)

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

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

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

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

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