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

Flutter Web迁移Google账号后报No Firebase App '[DEFAULT]'不存在错误

Flutter Web迁移新Firebase账号后No Firebase App '[DEFAULT]' has been created报错原因及解决方案

核心原因

该报错的本质是Firebase初始化逻辑未成功执行,没有创建默认的Firebase实例,导致Flutter侧调用相关接口时找不到实例。具体问题如下:

  • API语法与SDK版本不匹配:你引入的是8.x版本的Firebase传统CDN脚本,这类脚本会将SDK挂载到全局window.firebase对象上,不支持ES模块化导入语法。你当前的初始化代码直接使用了Firebase 9+版本的import模块化写法,在普通script标签中该语法会直接抛出语法错误,导致后续initializeApp初始化逻辑完全没有执行。
  • SDK版本冲突与重复引入:你重复引入了firebase-firestore等SDK,且版本号不统一(同时存在8.9.1、8.4.2、8.2.4三个版本),版本冲突会导致全局Firebase对象异常,即使初始化语法正确也可能执行失败。
  • 若你当前填写的新账号Firebase配置有缺项、参数错误,也会导致初始化失败。

修复方案

  1. 替换初始化逻辑为匹配8.x版本的写法,删除所有模块化import相关代码,修改后的初始化脚本如下:
// 替换为你的新Firebase账号完整配置,不要留空参数
const firebaseConfig = {
  apiKey: "你的新账号apiKey",
  authDomain: "你的新账号authDomain",
  projectId: "你的新账号projectId",
  storageBucket: "你的新账号storageBucket",
  messagingSenderId: "你的新账号messagingSenderId",
  appId: "你的新账号appId",
  measurementId: "你的新账号measurementId"
};
// 使用8.x版本的全局API完成初始化
firebase.initializeApp(firebaseConfig);
const analytics = firebase.analytics();
  1. 统一所有Firebase SDK的版本号,删除重复引入的资源,修改后的CDN引入部分如下:
<!-- 统一使用8.9.1版本,删除其他重复、不同版本的Firebase SDK引入 -->
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-storage.js"></script>
  1. 确认新账号的Firebase配置参数全部填写正确,没有缺漏。
  2. 清理浏览器缓存后重新启动项目即可。

内容的提问来源于stack exchange,提问作者Bryan Budelon Dorneles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:15:01