Flutter-向程序包添加依赖项无法解决应用程序编译期间的依赖项问题

时间:2019-07-05 16:18:57

标签: flutter flutter-dependencies

我刚刚创建了我的第一个flutter包。它只有飞镖代码,所以它是非常基本的imo。 但是,我在provider package的包中使用了一个外部依赖项。 由于我没有在包外部使用任何提供程序类,因此我的理解是,我不需要向应用程序添加provider包依赖关系,因此我可以仅将依赖关系保留在包中。 但是,当我尝试编译应用程序时,出现此错误:

  

编译器消息:   错误:无法解析“ package:provider / provider.dart”中的软件包“ provider”。   file:///local_path/lib/scale_widget.dart:5:8:错误:未找到:“ package:provider / provider.dart”   导入'package:provider / provider.dart';

尽管如此,provider软件包已导入我的软件包中。如果我在应用程序中添加provider依赖项,则所有内容都会编译。

4 个答案:

答案 0 :(得分:0)

确保自定义包pubspec.yaml中的依赖项位于“ dependencies:”下,而不是“ dev_dependencies:”下。

答案 1 :(得分:0)

在添加依赖项后尝试运行Pub get,然后停止您的应用并再次运行它,而不是使用Hot Restart。无论如何,这对我有用。

答案 2 :(得分:0)

停止应用程序,然后再次运行。另外,请确保您已将提供程序插入到依赖关系中,而不是在dev_dependencies

答案 3 :(得分:0)

path_provider 包也有同样的问题。

<块引用>

错误:无法解析‘package:path_provider/path_provider.dart’中的包‘path_provider’。

<块引用>

错误:未找到:‘package:path_provider/path_provider.dart’ 导入 ‘package:path_provider/path_provider.dart’;

我可以通过以下命令修复它:

1. flutter upgrade 
2. flutter pub cache repair
3. flutter clean && flutter pub get && flutter pub run build_runner build --delete-conflicting-outputs

问题可能已经通过 flutter upgrade 解决了,但我想留下我所做的所有步骤以防万一。 附言。就我而言,这是从 Flutter 2.0.6 到 2.2.1 的更新。