Flutter重启报dart:js未找到 assembleDebug构建失败如何解决
问题现象
项目构建输出:
BUILD FAILED in 9s Gradle task assembleDebug failed with exit code 1
在VSCode中基于BLoC模式开发Flutter项目,此前项目运行正常,重启应用后调试控制台(DEBUG CONSOLE)出现报错:
Error: Not found: 'dart:js'
排查修复方案
- 清理项目基础缓存
先在项目根目录执行以下命令,清理旧的构建产物和依赖缓存,重新拉取依赖:flutter clean flutter pub get - 排查错误导入
用VSCode全局搜索快捷键Ctrl+Shift+F(macOS为Cmd+Shift+F)全局搜索dart:js,非web专属目录下所有命中的import 'dart:js'语句全部删除。dart:js是仅Flutter Web端可用的内置库,移动端、桌面端编译时无法识别,这类错误大多是写代码时自动补全误导入导致的。 - 排查不兼容依赖
打开pubspec.yaml检查依赖列表:- 如果手动引入了
js、dart:js_util这类web专属依赖,直接移除即可 - 重点检查BLoC相关配套依赖(比如
bloc、flutter_bloc、bloc_test)、UI类依赖的版本,部分版本会间接依赖web端js库,导致移动端编译失败,回退到之前项目正常运行时的依赖版本,或升级到适配当前Flutter SDK的稳定版即可
- 如果手动引入了
- 清理Android端构建缓存
进入项目下的android目录,执行以下命令清理gradle构建缓存:# macOS/Linux 执行 ./gradlew clean # Windows 执行 gradlew.bat clean - 校验Flutter环境
执行flutter doctor检查SDK完整性,如果提示环境损坏,执行flutter doctor --android-licenses修复安卓授权问题,或切换到稳定版Flutter SDK重新编译,同时检查VSCode的Flutter插件是否选中了正确的SDK路径,避免误用web版Dart SDK编译移动端项目。
完成以上步骤后重新执行flutter run即可正常编译运行。
内容的提问来源于stack exchange,提问作者Zeyad Mohamed
相关产品推荐
相关产品推荐

