Firebase Cloud Functions报错:functions.firestore.document不是函数,旧函数失效
问题原因及解决方案
核心原因
这个错误是本地Firebase Functions SDK版本与你之前部署时的版本不兼容导致的。你长时间未修改代码,重新操作时本地的firebase-functions依赖大概率被自动更新到了新版本,而新版本的语法规则和旧代码里的functions.firestore.document调用方式不匹配。
具体解决步骤
- 查看当前项目
package.json里firebase-functions的版本号,对比之前能正常部署时的版本。如果版本差异较大,回退到旧版本:# 示例:回退到2.x系列稳定版,可根据你之前的实际版本调整 npm install firebase-functions@2.x --save - 同步检查Firebase CLI版本,确保它与Functions SDK版本匹配:
# 查看当前CLI版本 firebase --version # 若版本过高,回退到对应兼容的版本,比如适配2.x SDK的9.x CLI npm install -g firebase-tools@9.x - 顺带修复代码里的遗漏问题:你用到了
express和cors但未引入,需在代码开头添加:const express = require('express'); const cors = require('cors');
额外说明
旧代码之前能正常运行,是因为部署时用的是旧版本SDK;现在本地环境版本更新后语法规则变更,所以即便删除新函数,旧代码也会报错。只要把依赖版本回退到之前的兼容版本,就能恢复正常部署。
内容的提问来源于stack exchange,提问作者chrispsv
相关产品推荐
相关产品推荐

