使用Codemagic CI构建Flutter Web项目遇报错求助
解决Flutter Web构建时的"依赖flutter不被支持"错误
看起来你遇到的问题核心是你的项目仍然保留了Flutter原生SDK的依赖配置,同时部分依赖包并不兼容早期的Flutter Web预览版——哪怕你删除了一些无关依赖,这些隐藏的配置和依赖冲突还是会触发webdev的报错。
下面是具体的排查和修复步骤:
1. 移除pubspec.yaml中的Flutter原生配置
你的pubspec.yaml里还保留了针对Flutter移动端的核心配置项,这会让webdev判定你在依赖Flutter原生SDK,而非flutter_web:
# 删掉这段Flutter移动端专属配置 flutter: uses-material-design: true assets: - assets/ - assets/fonts/ - assets/icons/ - assets/images/ fonts: - family: Comfortaa-Regular fonts: - asset: assets/fonts/Comfortaa-Regular.ttf
如果需要在Web项目中使用资源和字体,要改用Dart Web的资源管理方式——比如把资源放在web目录下,通过相对路径或package:路径导入。
2. 替换不兼容的依赖包
你依赖的flutter_beautiful_popup是基于Flutter Material组件开发的,完全依赖Flutter原生SDK,并不兼容早期的Flutter Web预览版。你需要替换成纯Dart Web的弹窗组件,或是专门为flutter_web设计的UI库。
3. 检查代码中的导入路径
确保代码里导入的是flutter_web的包,而非Flutter原生包:
- 错误示例:
import 'package:flutter/material.dart'; - 正确示例:
import 'package:flutter_web/material.dart';
4. 调整Codemagic的构建命令
早期Flutter Web预览版推荐使用flutter build web命令构建,而非直接调用webdev build。你可以在Codemagic的构建脚本中替换成这个命令,避开webdev的兼容性检查问题。
完成这些调整后,重新构建应该就能解决exit code 78的错误了。
内容的提问来源于stack exchange,提问作者SametSahin
相关产品推荐
相关产品推荐

