Flutter进口随机停止运转,没有明显原因

时间:2019-08-17 16:34:41

标签: intellij-idea flutter dart flutter-dependencies

随着我们正在从事的项目越来越大,一位同事开始面临许多涉及pubspec.yaml的问题。他曾经通过手动删除Dart的缓存依赖项来摆脱它们,但是这次他遇到了一个看起来无法解决的问题。

在我们自己的程序包的lib目录中导入库时,import 'package:...'不起作用,仅相对路径有效。例如,考虑以下结构:

my_package
└─ lib
  ├─ utils.dart
  └─ api.dart

如果他尝试在utils.dart内导入api.dart,则只能使用相对路径:

import 'utils.dart'; // Works!
import 'package:my_package/utils.dart'; // Error: Target of URI doesn't exist: package:my_package/utils.dart.

这种行为是不一致的,因为项目在相同的上下文中有许多其他模块,不需要使用相对路径导入。此外,团队中没有其他人遇到这个问题,但是突然团队中的另一个人开始遇到同样的问题。它在传播!我们尝试重新安装Dart,Flutter,IntelliJ,但错误仍然存​​在。

如果我们删除项目并再次从git克隆项目,问题将消失。但是,令人惊讶的是,一旦我们重新启动并使IntelliJ的缓存无效,该错误就会返回。

奇怪的是,这些错误不会干扰项目的执行,它仍然可以运行。但是由于导入已中断,所以IDE无法链接到文件,也不会进行常规语法分析。

关于解决此问题的任何想法,甚至是如何开始寻找解决方案的想法?

1 个答案:

答案 0 :(得分:1)

此问题已在Flutter v1.9.1 + hotfix.2。中解决。