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

Flutter Web项目编译失败求助(Ubuntu 22.04)

解决Flutter Web编译失败的两个问题

问题1:PreferredSizeWidget无法作为mixin使用

报错位置:lib/SCREENS/Web_Page/Landing_Page/Web_Widgets/web_appbar.dart:10
原因:PreferredSizeWidget是抽象类(接口),并非mixin类,不能用with关键字混入。

修复方法:

  • 将with替换为implements
  • 强制实现preferredSize属性

修改后的代码示例:

class webAppBar extends StatelessWidget implements PreferredSizeWidget {
  @override
  final Size preferredSize;

  webAppBar({Key? key}) 
      : preferredSize = const Size.fromHeight(kToolbarHeight), // 可按需调整高度
        super(key: key);

  @override
  Widget build(BuildContext context) {
    // 原有build逻辑
  }
}

问题2:AssetManifest命名冲突(google_fonts包)

报错位置:google_fonts-3.0.1/lib/src/google_fonts_base.dart
原因:旧版本google_fonts包内部的AssetManifest类与Flutter框架内置的同名类重名,导致冲突。

修复方法:

  1. 打开项目根目录的pubspec.yaml文件
  2. 将google_fonts依赖升级到最新稳定版(例如^6.1.0或更高):
    dependencies:
      google_fonts: ^6.1.0
    
  3. 执行命令更新依赖:
    flutter pub get
    

完成上述修复后,重新执行构建部署命令即可:

flutter clean && flutter pub get && flutter build web --web-renderer html --release && firebase deploy --only hosting

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:32:38