Flutter引入firebase_auth后提示UserCredential类未定义该如何解决
Flutter Firebase Auth
UserCredential未定义报错解决方案 问题根因
核心原因为项目内Firebase系列依赖版本不兼容,firebase_auth 3.1.5要求配套firebase_core 1.10.0及以上版本,你当前使用的firebase_core 0.7.0版本过旧,无法适配高版本firebase_auth的类定义。
排查解决步骤
- 第一步:修正
pubspec.yaml依赖版本
将Firebase相关依赖改为兼容版本,参考配置如下:dependencies: flutter: sdk: flutter firebase_core: ^1.10.0 firebase_database: ^9.0.0 firebase_auth: ^3.1.5 fluttertoast: ^8.0.8 - 第二步:清理项目缓存并重新拉取依赖
依次在项目根目录执行以下命令:flutter clean flutter pub get - 第三步:重启Dart分析服务
依赖更新完成后,重启IDE或者手动重启Dart分析服务,清除IDE缓存的错误提示:- VS Code:按下
Ctrl+Shift+P(Mac为Command+Shift+P),选择Dart: Restart Analysis Server - Android Studio/IntelliJ:点击顶部菜单
File -> Invalidate Caches...选择清除并重启IDE
- VS Code:按下
- 第四步:处理潜在导入冲突
如果修改后仍有报错,可给firebase_auth导入添加前缀避免类名冲突:
代码中使用时对应调整:import 'package:firebase_auth/firebase_auth.dart' as auth;auth.UserCredential userCredential = await auth.FirebaseAuth.instance.createUserWithEmailAndPassword( email: "barry.allen@example.com", password: "SuperSecretPassword!" );
额外验证
如果以上操作完成后仍有问题,检查本地Flutter SDK版本是否满足要求:firebase_auth 3.1.5需要Flutter SDK >=2.5.0,Dart版本 >=2.14.0,版本过低的话升级Flutter SDK即可。
内容的提问来源于stack exchange,提问作者yara
相关产品推荐
相关产品推荐

