Visual Studio Code - URI的目标不存在 'package:flutter/material.dart'。

271
我刚刚设置了我的Macbook用于flutter开发,所以我下载了flutter SDK并将其放置在我的“文档”文件夹下。然后,我设置了路径变量以便在命令行中使用flutter。我执行了命令flutter create todolist以创建一个空白项目。我还使用Dart-Code设置了我的Visual Studio Code,以便具有正确的语法高亮、智能感知等功能。因此,当我打开Visual Studio Code时,它会突出显示import方法,就像以下图片一样:first line of the code这意味着它也会突出显示正确的类,这使得很难理解它是否是真正的错误。我已经执行了pub getflutter packages get命令,并且一切都正确。我的路径变量都是正确的。为什么它会强调不能找到那个'import'包?

没错,它说的是“Dart - 1.24.0-dev.6.7” @GünterZöchbauer - James
你是否安装了非Flutter的Dart SDK? - Günter Zöchbauer
我在我的文档文件夹中有Flutter SDK,并且已经使用Homebrew安装了Dart。 - James
我刚刚偶然发现了这个问题,虽然已经过去一段时间了,但你是否成功解决了它?你能否再现它?我很想看一下(我是Code的Dart/Flutter插件的作者)。我的猜测是Dart Code没有意识到你的项目是一个Flutter项目(我认为@TehSkull也是这样建议的),这可能是因为Flutter项目在子文件夹中? - Danny Tuppeny
7
我遇到了同样的问题,但是重启Android Studio可以解决它。 - mbwasi
显示剩余7条评论
43个回答

532

2
如果您能够重现这个问题,我很乐意查看。您不应该需要手动重新启动VS Code来解决此类问题(如果需要,我想进行修复)。您可以在https://github.com/Dart-Code/Dart-Code/issues/new上提出问题,谢谢! - Danny Tuppeny
41
注意现在是使用 flutter packages get 命令。 - Zooly
8
我刚刚关闭了 VSCode 中的文件夹,然后重新打开它,问题解决了 :) - Sravan
3
这在我的Ubuntu上有效(flutter packages get 然后重启VSCode)。谢谢! - Chinnon Santos
14
注意现在是 flutter pub get,参考文档:https://flutter.dev/docs/development/packages-and-plugins/using-packages - Mahesh Jamdade
显示剩余4条评论

70
运行以下命令:-
flutter clean

flutter packages get

flutter packages upgrade //( Optional - use if you want to upgrade packages )

然后重新启动Android Studio或Visual Studio。

$ flutter clean$ flutter packages get$ flutter packages upgrade如果您正在使用VSCode,请在调试模式下执行此操作。 - victorkolis

40

我是Dart Code插件的作者!从截图来看,我认为这是因为您的Flutter项目位于Code打开的文件夹的子文件夹中。我们只扫描打开的文件夹以检查是否为Flutter项目-然后更改我们启动的SDK并启用Flutter功能(如守护程序和调试器)。

你应该直接重新打开“todo”文件夹。

如果您想同时打开多个项目,请使用多根工作区,因为Dart Code支持多根并会在决定是否需要启用Flutter功能时检查工作区中的每个文件夹。

更新

现在Dart插件应该更好地支持此案例,因此打开Flutter项目的直接父文件夹应该按预期工作。


我一直在抱怨这个包错误已经20分钟了,移动我的安装文件夹之类的东西...我只是打开了错误的文件夹。我真是个白痴。谢谢 :) - Miiite
4
很遗憾,到Flutter 1.0为止,在使用VS Code并按照Flutter.io的入门教程操作时,缺少包检测功能又再次出现了。插件会正确运行"flutter packages get"命令,但是VS Code无法识别这个包,将相关类下的所有代码都标记为错误。重新启动VS Code后,再次加载项目文件夹,错误行就消失了。也许这是一个回归错误? - CokoBWare
@CokoBWare 您是指使用 Flutter: New Project 命令时吗?我在这里进行了测试,一旦包更新完成,所有的红色波浪线都消失了。 - Danny Tuppeny
@DannyTuppeny 已经适用于 Flutter 项目,但不适用于 Dart 项目。无论如何,现在我只需右键单击 pubspec.yaml 并运行 Get Packages。 - user603749
@user603749,这对Dart也应该没有问题。请在GitHub上打开一个问题,并提供您所看到的详细信息,以便我进行调查。谢谢! - Danny Tuppeny

26

如果您已经使用了flutter packages get命令,但错误仍然存在,您可以简单地重新加载VS Code的Developer: Reload Window命令。只需在按下Ctrl+Shift+P(Mac用户为Cmd+Shift+P)后键入该命令即可清除错误。这就像刷新VS Code一样。


1
2022年了,仍然能正常工作。 - Ahmed Shendy
这对我没有解决问题。 - Mahm00d

20

重新启动Visual Studio Code对我起了作用!


请注意:非常简短的答案和/或是回复提问者的问题应该作为评论。您只需要50个声望点就可以在问题下发表评论 - 您能将此移动到那里吗? - Tyler2P
也在Android Studio上工作过。如果不是这样,我就看不到它了。 - buckleyJohnson
重新启动VSCode会运行“flutter pub get”命令,这可以解决问题。 - Pramod

17

重新启动VS Code,你会看到魔法! 如果这不起作用,请检查pubspec.yaml文件中依赖项的缩进。


10

删除 .idea 文件夹.dart_tool 后打开项目。


1
完美解决方案 - Mohd Sakib Syed

9

这对我在Android Studio和VS Code中都起作用。我只需要在终端/命令提示符中运行这些命令,问题就解决了,没有必要再重新启动任何一个IDE。

  • flutter packages get(获取Flutter包)

您还可以选择运行以下命令:

  • flutter upgrade(升级Flutter)

9

-编辑:- 现在这种情况经常发生在我身上,每当我打开一些旧项目(Flutter项目)时,基本上是因为没有下载或缺少要引用的包,对于VSCode来说,简单地盲目执行A PUB GET 或者在pubspec.yaml文件中按下CTRL / COMMAND + s,然后您就可以开始工作了(有时可能需要一些时间来设置所有内容(取决于您的系统规格)!)

-旧答案从这里开始!-

在有人建议重启VSCode之后,我做了一个简单的事情,然后现在一切都正常。

对我而言,问题是因为在创建项目时,我收到了更新我的dart(或相关)扩展程序的通知,为此我进行了更新和启动我的项目,它只给了我大约30个错误,尽管很让人担心,但简单的解决方法是重新启动编辑器


6

关闭VS Code并重新运行它


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