You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Windows应用Firebase服务报错MissingPluginException求助

解决Flutter Windows应用Firebase服务MissingPluginException问题

问题分析

你遇到的MissingPluginException(No implementation found for method DocumentReference#set on channel plugins.flutter.io/firebase_firestore)错误,核心原因是Windows平台缺少Firestore、Storage等服务对应的原生实现包,且部分Firebase核心依赖版本过旧,导致全平台Firebase服务(认证、FireStore、Storage)均无法正常工作。

解决方案步骤

1. 补充缺失的Firebase桌面专用依赖

修改pubspec.yaml,在dependencies块中添加Firestore和Storage的桌面实现:

dependencies:
  # 保留原有依赖,新增以下两行
  cloud_firestore_desktop: ^0.1.0+4
  firebase_storage_desktop: ^0.1.0+4

注:版本号可根据Firebase官方最新兼容版调整,确保与其他Firebase包版本匹配。

2. 升级核心Firebase依赖到兼容版本

旧版本Firebase核心包对Windows支持不完善,替换为最新稳定版:

firebase_core: ^2.15.0
firebase_auth: ^4.10.0
cloud_firestore: ^4.8.0
firebase_storage: ^11.2.0

确保所有Firebase相关包版本相互兼容,避免版本冲突。

3. 清理缓存并重新构建项目

执行命令清理旧缓存、更新依赖:

flutter clean
flutter pub get

完成后重新运行Windows项目:

flutter run -d windows

4. 确认Windows平台Firebase配置完整

检查firebase_options.dart文件,确保包含Windows平台的配置项。若缺失,通过flutterfire_cli重新生成:

  1. 安装flutterfire_cli:
dart pub global activate flutterfire_cli
  1. 生成全平台配置:
flutterfire configure

选择你的Firebase项目,勾选Windows平台,自动生成包含Windows配置的firebase_options.dart。

5. 验证初始化逻辑

确保main函数中的初始化代码正确适配Windows:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  await initialServices();
  runApp(const MyApp());
}

DefaultFirebaseOptions.currentPlatform会自动匹配Windows配置,无需额外修改。

测试验证

重新运行项目后,调用addCategory函数测试Firestore写入,同时尝试图片上传至Storage,确认所有Firebase服务是否正常工作。

内容的提问来源于stack exchange,提问作者Muhammad Qazmouz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:48:23