Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振包URI在包的测试中不存在_Flutter_Dart_Flutter Test - Fatal编程技术网

Flutter 颤振包URI在包的测试中不存在

Flutter 颤振包URI在包的测试中不存在,flutter,dart,flutter-test,Flutter,Dart,Flutter Test,在Flatter项目目录中,我使用以下命令创建了一个包: flutter create --template=package emoji_support 在完成创建包并完成flatterget之后 但是 SDE包的/test目录中的文件在包的/lib目录中找不到文件: 进口“包装:颤振试验/颤振试验.dart”;解决✅ 但是 导入“package:emoji_support/emoji_support.dart”;这个问题没有解决❌ 文件结构 我在这里犯了什么错误?这只是在vsCode中添加

在Flatter项目目录中,我使用以下命令创建了一个包:

 flutter create --template=package emoji_support
在完成创建包并完成flatterget之后

但是

SDE包的/test目录中的文件在包的/lib目录中找不到文件:

进口“包装:颤振试验/颤振试验.dart”;解决✅

但是

导入“package:emoji_support/emoji_support.dart”;这个问题没有解决❌

文件结构


我在这里犯了什么错误?

这只是在vsCode中添加新的子目录时出现的问题。 只需简单的“存在并重新打开”即可解决此问题。
告诉我这是否能解决问题。

我在我的项目flutter\u示例\u文件\u选择器中创建了一个包,并支持flutter create-template=package emoji\u

然后在项目的pubspec.yaml中,而不是插件flatter\u example\u file\u picker>pubspec.yaml中的一个,我将其添加到包的依赖项中

dependencies:
  flutter:
    sdk: flutter
  emoji_support:
    path: ./emoji_support
问题解决了,我可以毫无问题地运行测试,也尝试了一个相对路径,而没有将其添加到依赖项中,并且工作正常

更新

我想我不明白在项目中创建插件时,如何在不将其添加到pubspec的情况下修复它,AndroidStudio或VS的颤振插件仍在主路径中工作。检查终端目录,它将是C:/…/Workspace\u Android\hundreddaysofflutter>,因此它不会检测到内部插件,也不会更新以检测新文件夹。即使它是红色的,并且表示无法检测URI

您可以忽略它并尝试运行测试,看看它是否检测到带有package_config.json的内部dart_工具,然后它将成功运行,问题将消失。第二个选项是移动到终端cd my_plugin_name_文件夹中插件所在的文件夹,或者只是打开文件并打开插件


运行flatter get pub它会在第一次创建项目时自动执行,但有时当您在另一个项目中创建一个项目时,它不会在第一次运行包并在dart_工具(插件的dart_工具)中创建包_config.json,在文件末尾,您可以看到包的名称和rootUri,现在,您可以在测试中使用它,并且它应该能够正确地检测到它。有时它是生成的,但似乎没有正确更新,IDE甚至不知道它是否在那里。

我推测,但导入包在根项目包中工作:hundreddaysoflutter/。。。,因此,您可能需要首先将内部包的依赖项添加到pubspec中,就像路径为:./emoji\u supportNo的普通包一样。在我的情况下,它也不在root中。它甚至在软件包自己的测试目录(独立且自给自足的项目)中也不起作用。您是否使用相对导入进行了测试../lib/emoji_support.dart;是的,我做了测试,但没有工作我尝试了我的第一个评论,它工作了,你是否将包添加到HundedDaysoflutter的pubspec.yaml中?这很奇怪,但是它是编译的,为什么包依赖于项目/应用程序而不是其他方式?你知道吗?检查我的更新,我想我发现了问题并找到了解决方法,当IDE没有运行或第一次检测到插件的发布时,问题更严重。这是合理的,这次会检查出来没有帮助