Firebase 部署错误,错误信息为“Failed to list functions for (项目名称)”。

10

我将我的Web应用程序托管在Firebase上,并使用Gitlab CI/CD进行部署,一直运行良好!但是今天在流水线工作时出现了以下错误:

56Error: Failed to list functions for project-name

这是我在流水线中运行的命令:

firebase deploy --only hosting --non-interactive --token $FIREBASE_TOKEN

这就是我遇到的错误。

deploying hosting
50i  hosting[project-name]: beginning deploy...
51i  hosting[project-name]: found 39 files in dist/dev
52i  hosting: hashing files [34/39] (87%)
53i  hosting: upload complete
54✔  hosting[project-name]: file upload complete
55i  hosting[project-name]: finalizing version...
56Error: Failed to list functions for project-name

请注意,该命令在显示“正在完成版本…”之前是可以正常运行的,但随后停止了。

可能是什么原因导致了这个错误?


也遇到了这个问题。尝试更新Node版本和刷新令牌,但都没有解决它。 - cchiaramelli
6个回答

7

我的 Firebase 工具版本是 11.14.0。我将其更改为 11.13.0,并通过 npm install -g firebase-tools@11.13.0 安装了这个特定的版本。安装完成后,我成功地部署了应用程序。


3

也许这可以帮助到你,但是在本地我有一个旧版本的Firebase CLI(9.2.2),它仍然可以正常工作。 我可能会在CI上降级Firebase CLI版本,直到这个问题得到解决。


你如何在CI上降级Firebase版本? - margherita pizza
我正在使用运行在Docker上的Gitlab CI,并且我正在使用andreysenov/firebase镜像来运行firebase-tools和Node.js。 这意味着除了我的脚本之外,我将“image: andreysenov/firebase-tools:latest”更改为“image:andreysenov/firebase-tools:11.13.0”。 “11.13.0”是标签,可在Docker Hub存储库中找到可用标签(例如,https://hub.docker.com/r/andreysenov/firebase-tools)。 - cchiaramelli

2

好的,我想我解决了这个问题:在运行'firebase init hosting'之前先运行'firebase init functions'。这对我有效。


新版本需要您添加功能才能进行托管。 - codejays

0

执行 'firebase init functions' 然后执行 'firebase deploy' 后,我发现需要付费才能使用以下功能:

错误:您的项目 basichtml-eca09 必须升级到 Blaze(按量付费)计划才能完成此命令。必需的 API artifactregistry.googleapis.com 在升级完成之前无法启用。要进行升级,请访问以下网址:


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

0

我曾经遇到过同样的问题,尝试了各种方法。我通过将 firebase-tools 降级至 1.13.0,在本地使部署工作正常,但是在使用我的部署脚本作为 Github Action 时仍然失败。

如果您也是因此而来到这个帖子: https://github.com/FirebaseExtended/action-hosting-deploy/issues/203#issuecomment-1127732956

基本上,前往 cloud.google.com,点击 "IAM & Admin",查找具有 "github-action" 的主体,点击编辑(铅笔图标),点击 "添加其他角色" 添加 "cloud functions viewer" 并点击 "保存"。

一切都像魔法一样运行良好(使用 firebase-tools 11.14.0)。

注意:我之前将我的 Firebase 计划更新为 "Blaze" 而不是 "spark"(一些人建议这样做),但它没有起作用。在 Google Cloud 中添加 "cloud functions viewer" 角色解决了问题,但我不能确定它是否不是两者的组合。


0

我解决了同样的问题,执行了“firebase login”命令。显然我已经登录了,但这对解决问题很有用。


目前来看,你的回答不太清晰。请编辑以添加更多细节,以帮助他人理解它如何回答问题。您可以在帮助中心找到有关撰写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接