【发布时间】:2021-01-17 20:25:24
【问题描述】:
我问它的原因是我正在开发一个包,实际上是颤振插件,当我在我的应用程序 pubspec.yaml 使用路径本地引用它时:一切正常,我可以看到一个 .packages 文件正在在本地插件 workdir 中生成。现在,如果我现在尝试使用 git 引用插件:在我的应用程序 pubspec 中,flutter pub get 很高兴 但是 当我尝试运行应用程序时,构建失败并显示错误消息:
Launching lib/main.dart on XYZ in debug mode...
/home/maksimlin/.pub-cache/git/edit_exif-3c87efc135c1269b5961ff73696a19e988132ad7/.packages does not exist.
Did you run "flutter pub get" in this directory?
FAILURE: Build failed with an exception.
* Where:
Script '/home/maksimlin/fvm/versions/dev/packages/flutter_tools/gradle/flutter.gradle' line: 896
* What went wrong:
Execution failed for task ':edit_exif:compileFlutterBuildDebug'.
> Process 'command '/home/maksimlin/fvm/versions/dev/bin/flutter'' finished with non-zero exit value 1
如果我将 .packages 自动生成的文件从本地插件 workdir 复制到 pub-cache 位置,我的应用程序构建得很好
那么 pub 自动生成 .packages 以从 git 包中缓存有什么问题吗?还是我的插件做错了什么?
不幸的是,我似乎找不到太多(任何)关于 .package 文件使用的文档,尤其是缓存包。
【问题讨论】:
-
原来我错误地在导致这个问题的插件 gradle 配置中添加了一些额外的配置:``` def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties' ) if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } } def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new GradleException("未找到 Flutter SDK。在 local.properties 文件中使用 flutter.sdk 定义位置。") } ``
标签: flutter dart flutter-dependencies dart-pub