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

Flutter项目出现FallThroughError方法未找到错误求助

解决Flutter编译时Firebase依赖的「Method not found: 'FallThroughError'」错误

错误原因

该错误是由于你使用的Firebase相关依赖版本过旧,这些旧版本代码中调用了Dart 2.17及以上版本已移除的FallThroughError类,导致编译不兼容。


解决方案

方案一:升级Firebase相关依赖(推荐)

直接将所有Firebase依赖升级到兼容新版本Dart的稳定版,修改pubspec.yaml中的对应依赖项:

dependencies:
  firebase_core: ^2.24.2
  firebase_auth: ^4.15.0
  cloud_firestore: ^4.13.6
  firebase_messaging: ^14.6.5
  firebase_storage: ^11.6.5
  firebase_core_platform_interface: ^5.0.0
  # 以下非Firebase依赖保留原配置或按需升级
  cached_network_image: ^3.2.3
  clipboard: ^0.1.3
  cupertino_icons: ^1.0.5
  dio: ^5.3.2
  dotted_border: ^2.0.0+3
  flutter:
    sdk: flutter
  flutter_braintree: null
  flutter_datetime_picker:
    git:
      url: https://github.com/HasanAlqaisi/flutter_datetime_picker.git
  flutter_easyloading: ^3.0.5
  flutter_google_places: ^0.3.0

执行以下命令完成升级:

  1. 清理旧缓存:flutter clean
  2. 获取新依赖:flutter pub get
  3. 重新编译项目:flutter run

方案二:临时修改缓存代码(仅应急)

若暂时无法升级依赖,可手动修改报错的缓存文件:

  • 找到报错文件路径(如C:/Users/melvi/AppData/Local/Pub/Cache/hosted/pub.dev/cloud_firestore_web-2.8.10/lib/src/utils/web_utils.dart)
  • 将所有throw FallThroughError();替换为throw UnimplementedError('Fall through');
  • 对另外两个报错文件执行相同操作后重新编译

注意:此方法为临时修复,清理缓存或执行flutter pub get后会失效,优先推荐方案一。

内容的提问来源于stack exchange,提问作者Melvin V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:06:20