无法部署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:FlutterProjectspegasusfunctions (218.61 KB) for uploading
Error: Failed to fetch Run service undefined
我遇到了同样的问题,在安装最新的firebase工具时,它为我修复了
npm安装-g firebase工具
这也是通过使用命令npm install -g firebase-tools.
升级firebase工具的版本自动修复的
如果遇到以下错误,可以添加--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
您可能还需要重新获取终端资源。我在npm i -g firebase-tools
之后检查了我的版本,它仍然不是11.18.0,但做了source ~/.zshrc
,它解决了这个问题。
您需要更新您的firebase工具。运行npm安装-g firebase工具。
当您使用版本小于或等于v11.18.0
的Firebase Tools时,您可能会遇到以下错误:
错误:无法获取Run服务未定义的
您应该考虑的第一件事是更新到更新或等于v11.18.0
的版本。当我回答这个问题时,最新版本是11.20.0
。
此外,在您的终端中使用以下代码行安装最新的Firebase工具:
npm install -g firebase-tools --force
npm audit fix
附言:还建议将Firebase Function更新到最新的可用版本,现在是4.1.1
。
确保在函数文件夹中执行npm install -g firebase-tools
。