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

Flutter Web集成cloud_functions后Firebase Auth报错求助

解决Flutter Web Firebase Auth初始化错误问题

问题根源

你的问题主要来自两个方面:

  • 手动添加的Firebase JS SDK脚本(8.6.1版本)与Flutter Firebase插件依赖的SDK版本不兼容,导致初始化冲突
  • 移除cloud_functions后项目缓存残留,未彻底清除旧依赖影响

解决方案步骤

1. 移除index.html中手动添加的Firebase脚本

直接删除你在index.html中插入的所有<script src="https://www.gstatic.com/firebasejs/8.6.1/..."></script>代码。Flutter的Firebase插件会根据依赖版本自动注入对应版本的JS SDK,手动添加旧版本会引发版本冲突。

2. 统一Firebase插件版本

当前依赖版本存在不匹配问题,建议将所有Firebase插件升级到兼容的稳定版本(以firebase_core为基准同步其他插件版本)。修改pubspec.yaml的依赖为:

dependencies:
  firebase_core: ^1.24.0
  firebase_analytics: ^9.3.0
  firebase_auth: ^3.6.2
  cloud_firestore: ^3.5.0
  cloud_functions: ^3.3.15
  firebase_storage: ^10.3.10

执行flutter pub get更新依赖。

3. 清理项目缓存

执行以下命令彻底清除缓存,避免旧依赖残留:

flutter clean
flutter pub get
flutter pub upgrade

4. 确保初始化代码正确

确认初始化代码在应用启动时优先执行,且在使用Auth功能前等待初始化完成。例如在main.dart中:

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 等待Firebase初始化完成
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  runApp(const MyApp());
}

5. 验证Web端配置

检查web/index.html中是否存在Flutter自动注入的Firebase配置脚本(通常在<body>末尾),格式类似:

<script type="module">
  import { initializeApp } from "https://www.gstatic.com/firebasejs/9.15.0/firebase-app.js";
  const firebaseConfig = {
    // 你的Firebase配置信息
  };
  const app = initializeApp(firebaseConfig);
</script>

如果没有,重新运行flutter run -d chrome让Flutter自动生成。

完成以上步骤后,重新运行项目即可解决Auth初始化错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:15:33