升级Firebase/AngularFire提示找不到@firebase/functions-types模块
问题背景
升级项目依赖时出现类型缺失报错,具体操作与现象:
- Firebase从v6升级到v9
- angular-fire先后测试适配Angular 13的7.2版本、适配Angular 14的7.4版本,均触发相同报错
- 已尝试删除
node_modules后执行npm i重装全部依赖,报错无变化
核心报错信息:
Error: node_modules/@angular/fire/compat/functions/functions.d.ts: Cannot find module '@firebase/functions-types' or its corresponding type declarations. import { HttpsCallableOptions } from '@firebase/functions-types';
解决步骤
- 手动安装缺失的类型依赖包
该报错本质是对应版本angular-fire的依赖清单漏声明了@firebase/functions-types包,导致npm/yarn等包管理器不会自动安装该依赖,根据你使用的包管理器执行对应安装命令即可:
- npm用户执行:
npm install @firebase/functions-types --save-dev - yarn用户执行:
yarn add @firebase/functions-types -D - pnpm用户执行:
pnpm add @firebase/functions-types -D
注意:该步骤不需要重复删除node_modules做全量重装,仅补装缺失依赖即可生效
校验主包版本匹配性
如果安装完类型包仍报错,检查本地安装的firebase主包版本:angular-fire 7.2、7.4版本仅兼容Firebase 9.x大版本,若你安装了Firebase 10及以上版本,会触发类型依赖不兼容问题,此时将firebase降级到9.x最新稳定版即可,以npm为例:npm install firebase@^9.23.0 --save重载类型服务
完成上述操作后,重启IDE的TS类型服务消除缓存影响:以VS Code为例,按快捷键Ctrl+Shift+P(macOS系统按Cmd+Shift+P)调出命令面板,执行TypeScript: Restart TS Server即可,不需要重启整个IDE。
内容的提问来源于stack exchange,提问作者bastifix
相关产品推荐
相关产品推荐

