Can't deploy Firebase functions (Failed to fetch Run service undefined)

回答 6 浏览 5216 2022-12-10

不能部署Firebase函数。我有两个项目别名,在第一个项目(dev)中工作正常,但在第二个项目(prod)中不正常。
每当我写firebase deploy --only functions时,我得到以下信息

i deploying functions
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
i  artifactregistry: ensuring required API artifactregistry.googleapis.com is enabled...
+  functions: required API cloudbuild.googleapis.com is enabled
+  artifactregistry: required API artifactregistry.googleapis.com is enabled
+  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: preparing codebase default for deployment
!  functions: package.json indicates an outdated version of firebase-functions. Please upgrade 
using npm install --save firebase-functions@latest in your functions directory.
!  functions: Please note that there will be breaking changes when you upgrade.
i  functions: Loaded environment variables from .env.prod.
!  functions: You are using an old version of firebase-functions SDK (3.15.7). Please update 
firebase-functions SDK to >=3.20.0
i  functions: preparing functions directory for uploading...
i  functions: packaged E:\FlutterProjects\pegasus\functions (218.61 KB) for uploading

Error: Failed to fetch Run service undefined
Abdelrahman 提问于2022-12-10
6 个回答
#1楼 已采纳
得票数 56

我也有同样的问题,在安装了最新的Firebase工具后,我的问题得到了解决。

npm 安装 -g firebase-tools

gfekri 提问于2022-12-11
这对我来说是个好办法:Sudo npm install -g firebase-tools --forceDavid Linke 2022-12-14
如果你在你的CI/CD管道中添加了firewase-tools,但它一直以同样的错误失败,你只需要更新管道中使用的firewase-tools版本。参见cloud.google.com/build/docs/deploying-builds/deploy-firebase了解更多Ojetokun 2022-12-14
如果你被困在较低的版本上(我被困在11.1.0上),那么就按照这个stackoverflow.com/a/60046980/16653398来获得11.18.0的版本。Trevor 2022-12-18
#2楼
得票数 8

通过使用命令npm install -g firebase-tools.升级firebase-tools的版本,也自动修复了这一问题。

如果你遇到下面的错误,你可以添加--force标志

npm ERR! code EEXIST
npm ERR! path /usr/local/bin/firebase
npm ERR! EEXIST: file already exists
npm ERR! File exists: /usr/local/bin/firebase
Frankrnz 提问于2022-12-13
#3楼
得票数 3

你可能还需要重新为你的终端提供资源。我在npm i -g firebase-tools后检查了我的版本,仍然不是11.18.0,但做了一个source ~/.zshrc,就解决了这个问题。

Jason A Savage 提问于2022-12-14
#4楼
得票数 1

你需要更新你的Firebase-tools。运行npm install -g firebase-tools。

Chiza 提问于2022-12-12
#5楼
得票数 1

请确保你在函数文件夹中执行npm install -g firebase-tools

Sunil Gupta 提问于2022-12-28
#6楼
得票数 1

当你使用Firebase Tools的版本小于或等于v11.18.0时,你可能会遇到下面的错误。

Error: Failed to fetch Run service undefined

你应该考虑的第一件事是更新到比v11.18.0更新或等于v11.18.0的版本。在我回答这个问题的时候,最新版本是11.20.0

此外,通过在你的终端中使用以下一行代码来安装最新的Firebase工具。

npm install -g firebase-tools --force
npm audit fix

P.S. 还建议将Firebase功能更新到最新的可用版本,现在它是4.1.1

Alex Mamo 提问于2023-01-09
Alex Mamo 修改于2023-01-09