我刚刚创建了我的第一个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
依赖项,则所有内容都会编译。
答案 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 的更新。