Firebase云函数V1回退部署报错:被误判为V2升级请求
解决方案
检查并回退依赖版本:
打开package.json,确保firebase-functions版本为V1对应的^3.x.x(而非V2的^4.x.x),同时firebase-admin版本要与firebase-functions兼容。删除node_modules文件夹和package-lock.json/yarn.lock文件,重新执行npm install。验证firebase.json配置:
确认firebase.json中的functions配置无V2相关标识,比如不要出现"gen": 2或"v2": true字段。V1的标准配置示例:{ "functions": { "source": "functions", "runtime": "nodejs18" } }强制无缓存部署:
执行部署命令时添加--no-cache参数,跳过本地缓存校验:firebase deploy --only functions:onChallengeCompleted --no-cache检查函数注册代码:
确认函数注册完全使用V1写法,示例如下:// V1正确导入方式 const functions = require('firebase-functions'); // V1函数注册示例 exports.onChallengeCompleted = functions.https.onRequest((req, res) => { // 函数逻辑代码 });避免误导入
firebase-functions/v2下的模块,哪怕是无心的导入也可能触发CLI的V2版本检测。清理Firebase CLI本地配置:
删除项目根目录下的.firebase文件夹(CLI生成的本地缓存目录),然后重新登录Firebase账号:rm -rf .firebase firebase login --reauth
内容的提问来源于stack exchange,提问作者Biel Bonany Gil
相关产品推荐
相关产品推荐

