Flutter -在应用程序编译期间,向包添加依赖关系并不能解决依赖关系问题

bbuxkriu  于 2023-05-23  发布在  Flutter
关注(0)|答案(5)|浏览(171)

我刚刚创建了我的第一个flat包。它只有dart代码,所以它是相当基本的。但是,我在包中使用了一个provider package的外部依赖项。由于我不使用包外的任何提供程序类,我的理解是,我不需要向应用程序添加provider包依赖项,因此我可能只在包内保留依赖项。但是,当我尝试编译应用程序时,我得到了这个错误:

Error: Could not resolve the package 'provider' in 'package:provider/provider.dart'.
file:///local_path/lib/scale_widget.dart:5:8: Error: Not found: 'package:provider/provider.dart'
import 'package:provider/provider.dart';

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

uujelgoq

uujelgoq1#

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

axzmvihb

axzmvihb2#

停止应用程序并再次运行它。另外,请确保将提供程序插入到依赖项中,而不是dev_dependencies中

2ic8powd

2ic8powd3#

path_provider包出现同样问题。

错误:未能解析“package:path_provider/path_provider. dart”中的包“path_provider”。
错误:没有找到:'package:path_provider/path_provider.dart' import '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升级得到了解决,但我想留下所有的步骤,以防万一。在我的例子中,这是从Flutter 2.0.6到2.2.1的更新。

z9gpfhce

z9gpfhce4#

尝试在添加依赖项后运行Pub get,然后停止应用并再次运行,而不是使用热重启。反正这对我很管用。

yrwegjxp

yrwegjxp5#

您可能需要运行:

flutter pub add provider

相关问题