dart:ui:1: 错误:找不到:dart:ui。flutter/dart:

64

当我开始调试会话(按下 F5)时,我收到以下信息:

dart:ui:1: Error: Not found: dart:ui.
Exited (sigterm)

没有迹象表明问题出现在哪里。flutter doctor -v 的输出如下:

[√] Flutter (Channel beta, v0.8.2, on Microsoft Windows [Version 6.1.7601], locale en-US)
    • Flutter version 0.8.2 at C:\Downloads\flutter\flutter_windows_v0.5.1-beta\flutter
    • Framework revision 5ab9e70727 (2 weeks ago), 2018-09-07 12:33:05 -0700
    • Engine revision 58a1894a1c
    • Dart version 2.1.0-dev.3.1.flutter-760a9690c2

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at C:\Users\gggustafson\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, 64-bit edition (version 1.25.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 2.18.0

[√] Connected devices (1 available)
    • SM G925V • 06157df60c7a8e20 • android-arm64 • Android 7.0 (API 24)

• No issues found!

有任何想法吗?


2
看起来你的IDE将你的应用程序识别为一个简单的Dart项目,而不是Flutter项目。 - Rémi Rousselet
1
你使用哪个文件作为入口点?如果您单击工具栏上的运行按钮左侧的配置下拉菜单并单击“编辑配置...” ,则可以找到它。 - Günter Zöchbauer
1
在调试中,紧挨着“开始调试”图标的旁边,有一个下拉菜单,可以选择“无配置”或“添加配置...”。当前所选的配置是“无配置”。 - Gus
你是否已为该项目启用了Flutter支持?请检查Dart设置中是否选择了来自Flutter的Dart SDK,而不是独立的Dart SDK。 - Günter Zöchbauer
在Dart配置设置中,我发现:在默认设置中:“dart.checkForSdkUpdates”:true, “dart.debugSdkLibraries”:false, “dart.flutterSdkPath”:“”, “dart.flutterSdkPaths”:[], “dart.sdkPath”:“”, “dart.sdkPaths”:[],在用户设置中:“dart.sdkPath”:“”你有什么想法? - Gus
显示剩余3条评论
8个回答

150
在运行应用程序时,你会发现有两个 main.dart 文件,请选择带有 Flutter 图标的那一个。 图片描述

1
谢谢您的想法。问题已经消失了。我不知道为什么,但我创建了一个新的Flutter项目。我认为那就是问题所在。 - Gus
2
这是最好的快速答案,特别是对于那些刚开始进行基于Flutter的开发的人们 +1 - Kamar Shad
2
哦,那就说得通了。我应该运行Flutter而不是Dart。 - Nate
啊,我把AndroidStudio当成Dart运行了。好的。 - shinriyo

15

如果您正在运行 Flutter 项目。

在编辑配置中,将其作为 Flutter 项目运行,该项目旁边有一个 Flutter 图标。

如果您在测试 Dart 文件

检查您的依赖树。删除所有与 Flutter 相关的库,如 widgets/material/cupertino。

简单解释

简而言之,您正在以 Dart 文件形式运行文件,但同时导入了 Flutter 的依赖项,如 widgets/material。要么将其作为 Flutter 运行,要么去掉 Flutter 依赖并运行纯 Dart。


15
如果您正在使用 VS Code 作为您的 IDE,请选择 开始调试 而不是 运行代码,它会起作用。

Screenshot here


7

神奇的是,如果你添加以下内容:

import 'package:flutter/widgets.dart';

在你想要运行或调试的文件顶部,删除现有配置,它将作为flutter而不是dart运行。
为什么?Idea/Android Studio扫描您要求运行或调试的文件以查找flutter导入,并使用其来决定初始运行配置是dart还是flutter。如果导入任何flutter包,则会得到一个flutter运行配置。
令人困惑的是,它仅在您首次运行/调试该文件时执行此操作,并记住运行配置。 如果您的运行配置创建为错误类型(Dart而不是Flutter),则需要进入“编辑配置”菜单将其删除,然后重新运行/调试该文件。
这是非常令人困惑的行为,特别是因为您的导入不足以知道该文件应该作为Flutter还是普通的Dart运行--您文件的导入可能会导入另一个导入flutter库的文件。当Flutter是正确的配置时,它可能被检测为Dart。
他们本应该添加"运行Dart","运行Flutter"。

哦?你指的是哪个文件? - shinriyo
1
在你尝试运行或调试的文件顶部,Idea/Android Studio会扫描flutter导入并使用它来决定初始运行配置是dart还是flutter。如果你导入任何flutter包,你将得到一个flutter运行配置。 - user48956

1
在运行时选择带有Flutter图标的选项,这应该会有所帮助。

1

近一个星期一直有同样的问题。我的解决方案是进行调试(开始调试)而不是运行(运行代码)。


0
如果你正在使用VSCode,修改你的launch.json文件中的cwd。对我来说,我正在开发一个插件,而且我已经在插件的根目录下打开了VSCode。如果你想要运行`example/lib`,确保你不要添加`/lib`。
...
"configurations": [
    {
        "name": "example",
        "cwd": "example",
        "request": "launch",
        "type": "dart"
    },
]
...

-5

引入这个库 import 'dart:ui' as ui;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接