Visual Studio代码-URI的目标不存在“ package:flutter / material.dart”


112

我已经为Macbook进行了颤振开发,

因此,我下载了flutter sdk,并将其放入我的文档中。之后,我设置路径变量以在命令行中使用flutter

我执行命令,flutter create todolist所以我实现了一个空白项目。

我还使用Dart-Code设置了Visual Studio代码,因此我具有正确的语法突出显示,智能感知等。

因此,当我打开Visual Studio代码时,它会突出显示该import方法,如下图所示:

代码的第一行

这意味着它还突出显示了正确的类,这使得完全难以理解其是否是真正的错误。

我都执行了两个命令pub getflutter packages get并且一切正确。我的路径变量全部正确。

为什么突出显示它找不到“导入”包?



这是正确的,它说: “达特- 1.24.0-dev.6.7” @GünterZöchbauer
詹姆斯

但是,如果我进入flutter项目并执行flutter运行,它将正确安装在我的设备上
James

您是否安装了非Flutter Dart SDK?
君特Zöchbauer

3
遇到了同样的问题,但是使用Android Studio,重新启动AS可以解决此问题。
mbwasi

Answers:


195

之后重新启动Visual Studio代码

flutter pub get

为我解决了错误消息。

来源:https : //flutter.dev/docs/development/packages-and-plugins/using-packages


1
如果您能够重现此内容;我很想看看。您无需手动重新启动VS Code即可解决此类问题(如果您这样做,我想修复)。您可以在github.com/Dart-Code/Dart-Code/issues/上发表问题,谢谢!
Danny Tuppeny

24
请注意,现在flutter packages get
Zooly

2
我只是关闭了VSCode中的文件夹,然后再次打开。解决的方法:)
Sravan

1
这对我在Ubuntu上有效(flutter packages get然后重新启动VSCode)。谢谢!
Chinnon Santos,

2
请注意,它现在flutter pub get flutter.dev/docs/development/packages-and-plugins/...
maheshmnj

23

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

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

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

更新资料

现在应该在Dart插件中更好地支持这种情况,因此打开Flutter项目的直接父文件夹应该可以正常工作。


我已经因这个软件包错误而抱怨了20分钟,将安装文件夹移动了,诸如此类...我只是打开了错误的文件夹。我是白痴。谢谢:)
Miiite

3
不幸的是,从Flutter 1.0开始,当使用VS Code并遵循Flutter.io入门教程时,这种缺少程序包检测的现象再次令人头疼。该插件可以正常运行“ flutter软件包获取”,但是VS Code无法看到该软件包,并且所有代码都带有下划线,就好像这是相关类中的错误一样。再次加载项目文件夹后,重新启动VS Code可使错误行消失。也许是回归错误?
CokoBWare

@CokoBWare使用Flutter: New Project命令时是什么意思?我刚刚在这里进行了测试,一旦软件包更新完成,所有红色的花键都消失了。
Danny Tuppeny '18

@DannyTuppeny是为Flutter Projects而不是Dart Projects修复的。现在无论哪种方式,我都只需右键单击pubspec.yaml并运行Get Packages
user603749 '19

@ user603749没有理由也不适用于Dart。请在GitHub上打开一个问题,其中包含您所看到的详细信息,以便我们进行调查。谢谢!
Danny Tuppeny


10

如果使用了该flutter packages get命令,但错误仍然存​​在,则只需重新加载VS代码即可Developer: Reload Window。只需按一下即可输入Ctrl+Shift+PCmd+Shift+P对于Mac用户)。它将清除错误。这就像刷新VS Code。


4

获得Dart-Code可靠地找到并安装Flutter的最快方法是创建一个新的FLUTTER_ROOT环境变量并将其设置为Flutter路径。


4

打开命令面板(ctrl + shift + p),键入flutter:获取软件包(应自动完成);解决后,再次打开命令选项板,然后键入reload window并执行命令。这应该尽快解决该问题。


2

重新启动VS Code,您将看到魔术!如果这样不起作用,请检查pubsepec.yaml中的缩进


2

基本上

  1. 检查包在依赖项中的正确缩进
  2. 如果您的编辑器支持,它将自动运行-> flutter pub get
  3. 无论哪种方式->打开终端-> flutter pub getflutter包get
  4. 检查.packages文件,查看是否存在您的软件包,否则重新安装软件包
  5. 最重要的是:重新启动您的IDE(Visual Studio或Android Studio)

开始调试您的项目

最有可能的是,您的错误将在那时修复

希望对你有帮助


2

这对我在Android Studio和VS Code中都有效。我只需要在终端/命令提示符下运行这些行即可解决问题。无需再次重新启动任何IDE

  • 颤振包得到

您也可以选择运行。

  • 扑扑升级

1

尝试在另一个目录中运行项目时,我也遇到了。

通过使用主项目的根目录进行工作



1

如果您从终端执行:“运行flutter软件包获取”,并且错误仍然存​​在,请检查所有软件包目录是否列在“ .packages”文件中。-有时您拥有软件包,但未在此文件中对其进行配置。



1

警告!该程序包通过不再可用的.packages文件引用了Flutter存储库。将改为使用当前正在执行“ flutter”工具的存储库。
运行Flutter工具:/ opt / flutter先前参考:/ Users / Shared / Library / flutter如果您删除或移动了Flutter存储库的副本,或者该副本位于不再挂载或已挂载的卷上,则可能会发生这种情况在不同的位置。请检查您的系统路径以确认您正在运行预期的版本(运行“ flutter --version”以查看路径上存在哪种抖动)。

检查一下输出结果,flutter packages get发现在我的情况下,原因是由于移动了sdk sdk。



1

试着跑 flutter clean

然后重新启动VS Code。这为我做到了。


0

不要忘记:

export PATH="$PATH:/home/[xxxxx]/flutter/bin

对我来说,它有效:

flutter upgrade

flutter packages get

您可以检查

flutter doctor

flutter --version

0

转到pubsec.yaml文件后直接添加此cupertino_icons

webview_flutter:

然后按Packages进入右上角,它将可以正常使用。


0

运行“ flutter pub get”之前,请不要忘记保存pubspec.yaml。重新启动Visual Studio代码是不够的。那是我的解决方案。有时,当您与intellij合作时,您会忘记...


0

添加依赖项。例如:-import 'package:audioplayers/audio_cache.dart'; 在上述软件包中,如果我们仅使用此软件包,则会显示错误,但是如果我们在pubspec.yaml中添加依赖项,例如

dependencies:
    flutter:
      sdk: flutter
    cupertino_icons: ^0.1.2
    audioplayers: ^0.14.1

在此处输入图片说明

然后点击获取包。

如您所见,我也可以插入依赖项,因此,如果您将依赖项与包一起插入,那么您就很好了。


0

通常您收到此错误消息时:

URI的目标不存在:“ package:foo”。尝试创建URI引用的文件,或者尝试对确实存在的文件使用URI。

例:

URI的目标不存在:“ package:random_string / random_string.dart”。尝试创建URI引用的文件,或者尝试对确实存在的文件使用URI。

import 'package:random_string/random_string.dart';

这是因为缺少依赖项。

因此,您要做的就是通过搜索软件包名称来找出需要哪些软件包。

在此处输入图片说明

安装依赖项:

$ flutter pub get

并将依赖项添加到pubspec.yaml文件中:

在此处输入图片说明


0

我正在尝试使用音频播放器颤振包。将其添加到pubspec.yaml并尝试将其导入到main.dart后,我遇到了相同的错误。

我试图重新启动我的IDE,但这并没有帮助,所以我尝试运行 flutter packages pub cache repair并成功运行。


1
请在您的答案中添加更多上下文,以说明它与此处的其他答案有何不同,并从长远来看使其更有用。
穆斯塔法

0

我正在遵循Flutter入门教程english_words,尽管在pubspeck.lock和中显示了VSCode ,但VSCode都找不到该软件包。.packages。热装不起作用。

为了使其正常工作,我停止了实例并重新运行它-因此不必重启VSCode。


0

我遇到了同样的问题,尝试重新启动所有程序,获取软件包,修复所有程序,但是这些解决方案均无效。唯一有效的方法是设置软件包文件的编码,从而使UTF-8错误。

PS:我在Android Studio上遇到了这个问题

希望这会帮助某人。


0

如果您更改lib文件夹namepubspect.yaml所有软件包的属性,则显示红色,并显示错误URI目标不存在...


0

我认为这是不可能的:我必须删除flutter文件夹,然后从头开始重新安装它!


0

有时,只需flutter pub get再次运行即可解决此问题。

软件包可以确保所有软件包都被考虑了...

当将项目从一台计算机移动到另一台计算机时,可能会发生这种情况,即不考虑软件包,所以flutter pub get您就去了!


0

我正在使用(定位位置选择器(在功能和UI方面有更多自定义功能)),所以我复制了此包(完整)并在我的应用程序中的一个文件夹中使用,但是由于dart代码分析器分析了一个flutter项目,因此我发现从此程序包内部引用不起作用,然后我仅将(Google位置选择器的)lib文件夹复制到我的原始项目文件夹中,瞧这对我有用。这个解决方案花了我3天的时间。我知道这不是问题,但可以帮助某人节省3天的时间。


0

我也有这个问题。我有两个VS codeAndroid studio安装在我的系统。

错误在 VS code

当我打开相同的项目时Android studio,实际上并没有添加依赖项pubsec.yaml。我在那里添加并运行pub.get

当我回到 VS Code,一切正常。

因此,请尝试在其他编辑器中打开它,或者通过NotePad

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.