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

Flutter项目Supabase初始化失败编译报错求助

解决Supabase Flutter初始化编译失败问题

问题现象

调试Flutter应用时,Supabase初始化触发编译错误,导致Gradle构建失败,无法正常启动应用。

错误日志

Launching lib\main.dart on ONEPLUS A3010 in debug mode...
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:43:3: 错误:未找到类型 'GotrueSubscription'。
  GotrueSubscription? _authSubscription;
  ^^^^^^^^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:303:5: 错误:未找到类型 'AuthOptions'。
    AuthOptions? options,
    ^^^^^^^^^^^

/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:43:3: 错误:'GotrueSubscription' 不是类型。
  GotrueSubscription? _authSubscription;
  ^^^^^^^^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:111:16: 错误:'GotrueError' 不是类型。
          } on GotrueError catch (error) {
               ^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:91:58: 错误:'onAuthStateChange' 不是函数或方法,无法调用。
          Supabase.instance.client.auth.onAuthStateChange((event, session) {
                                                         ^^^^^^^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:109:68: 错误:类 'AuthResponse' 未定义 getter 'data'。
- 'AuthResponse' 来自 'package:gotrue/src/types/auth_response.dart' ('/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/gotrue-1.11.2/lib/src/types/auth_response.dart')。
请尝试将名称更正为现有getter的名称,或定义一个名为 'data' 的getter或字段。

              _instance._initialSessionCompleter.complete(response.data);
                                                                   ^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:282:10: 错误:'GotrueError' 不是类型。
    } on GotrueError catch (error) {
         ^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:303:5: 错误:'AuthOptions' 不是类型。
    AuthOptions? options,
    ^^^^^^^^^^^
/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/supabase_flutter-1.0.0-dev.1/lib/src/supabase_auth.dart:305:23: 错误:类 'GoTrueClient' 未定义方法 'signIn'。
- 'GoTrueClient' 来自 'package:gotrue/src/gotrue_client.dart' ('/C:/Users/saaho/AppData/Local/Pub/Cache/hosted/pub.dev/gotrue-1.11.2/lib/src/gotrue_client.dart')。
请尝试将名称更正为现有方法的名称,或定义一个名为 'signIn' 的方法。
    final res = await signIn(
                      ^^^^^^

Target kernel_snapshot failed: Exception

FAILURE: Build failed with an exception.

* 位置:
Script 'C:\flutter dev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1201

* 错误原因:
任务 ':app:compileFlutterBuildDebug' 执行失败。
> 进程 'command 'C:\flutter dev\flutter\bin\flutter.bat'' 以非零退出值1结束

* 建议:
> 使用 --stacktrace 选项获取堆栈跟踪。
> 使用 --info 或 --debug 选项获取更多日志输出。
> 使用 --scan 选项获取完整洞察。

* 获取更多帮助:https://help.gradle.org
BUILD FAILED in 4m 25s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

环境配置

  • Flutter: ^3.10.2
  • Dart: ^3.0.2

初始化代码

import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:supabase_flutter/supabase_flutter.dart';

void main () async {
  WidgetsFlutterBinding.ensureInitialized();
  await Supabase.initialize(
    url: 'https://dwjxxxxxxxxxxxxxxxxxxxxx.supabase.co',
    anonKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  );
  await Hive.initFlutter();
  await Hive.openBox("MainBox");
  runApp(const MyApp());
}

解决方案

错误原因

使用的supabase_flutter: 1.0.0-dev.1是开发预览版本,该版本的API与依赖的gotrue: 1.11.2稳定版存在严重兼容性问题,导致类型、方法不匹配,触发编译错误。

修复步骤

  1. 替换为稳定版依赖:打开项目根目录的pubspec.yaml,将supabase_flutter的版本修改为最新稳定版(例如supabase_flutter: ^1.10.15,该版本与Flutter 3.10.2兼容)。
  2. 清理缓存并重新获取依赖:
    • 执行命令:flutter clean
    • 执行命令:flutter pub get
  3. 重新运行项目:执行flutter run启动应用,即可正常完成Supabase初始化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:10:25