升级firebase-tools和npm后部署Firebase云函数报TS2614错误
问题根因
该报错由geofirestore@3.4.1版本的Firebase导入语法与升级后环境的TypeScript、Firebase版本不兼容导致:旧版本geofirestore使用命名导入{ firestore } from 'firebase/app'的语法,而你升级后使用的Firebase版本调整了导出规则,加上TypeScript版本的类型校验规则更严格,就触发了编译错误。
解决方案
按优先级从高到低选择即可:
方案1:升级geofirestore到兼容版本(最推荐)
无需修改其他配置,直接升级geofirestore到适配的版本即可解决导入语法问题:
- 卸载旧版本:
npm uninstall geofirestore - 安装适配版本:
npm install geofirestore@4.4.0
方案2:修改TypeScript编译配置(临时兼容,无需调整依赖版本)
如果要保留当前的geofirestore版本,在项目的tsconfig.json中添加2项编译配置即可:
{ "compilerOptions": { "skipLibCheck": true, "allowSyntheticDefaultImports": true } }
skipLibCheck:跳过node_modules目录下第三方依赖的类型校验,直接忽略geofirestore的类型报错allowSyntheticDefaultImports:兼容默认导入语法,匹配报错提示中的导入规则
方案3:降级Firebase版本(不推荐,仅适用于必须使用旧版geofirestore的场景)
将package.json中的firebase依赖版本固定为7.13.1,删除项目下的node_modules文件夹和package-lock.json文件后重新执行npm install即可,该版本的Firebase仍支持旧版的命名导入语法。
操作完成后先执行
npm run build本地验证编译是否通过,无报错再执行部署命令即可。
内容的提问来源于stack exchange,提问作者RL Shyam
相关产品推荐
相关产品推荐

