Должны ли файлы .packages автоматически генерироваться для пакетов pub, кэшированных из git?

#flutter #dart #flutter-dependencies #dart-pub

#flutter #dart #flutter-зависимости #dart-pub

Вопрос:

Причина, по которой я спрашиваю об этом, заключается в том, что я работаю над пакетом, на самом деле плагином flutter, и когда я ссылаюсь на него локально в своих приложениях pubspec.yaml , используя path: все работает нормально, и я вижу .packages , что файл генерируется внутри локального рабочего каталога плагина. Теперь, если я попытаюсь ссылаться на плагин с помощью git: в моих приложениях pubspec, flutter pub get удовлетворен, НО когда я пытаюсь запустить приложение, сборка завершается с ошибкой mesg:

 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, особенно для кэшированных пакетов.

Комментарии:

1. Оказывается, я по ошибке добавил некоторые дополнительные настройки в конфигурацию 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) { выбросить новое исключение GradleException(«Flutter SDK не найден. Определите местоположение с помощью flutter.sdk в локальном файле.properties.») } «

Ответ №1:

 # Generated by pub on 2020-10-01 15:23:17.745081.
args:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/args-1.6.0/lib/
bloc:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/bloc-4.0.0/lib/
characters:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.1.0-nullsafety.2/lib/
charcode:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.3/lib/
charts_common:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/charts_common-0.9.0/lib/
cloud_firestore:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.14.0/lib/
cloud_firestore_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-2.0.0/lib/
cloud_firestore_web:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_web-0.2.0/lib/
collection:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.15.0-nullsafety.2/lib/
convert:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/convert-2.1.1/lib/
crypto:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-2.1.5/lib/
custom_switch:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/custom_switch-0.0.1/lib/
dio:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/dio-3.0.10/lib/
easy_localization:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/easy_localization-2.3.3/lib/
file:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/file-5.2.1/lib/
firebase:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase-7.3.0/lib/
firebase_auth:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.18.0/lib/
firebase_auth_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_platform_interface-2.0.0/lib/
firebase_auth_web:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-0.3.0/lib/
firebase_core:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.5.0/lib/
firebase_core_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_platform_interface-2.0.0/lib/
firebase_core_web:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-0.2.0/lib/
flutter:file:///C:/Src/flutter/packages/flutter/lib/
flutter_bloc:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_bloc-4.0.1/lib/
flutter_localizations:file:///C:/Src/flutter/packages/flutter_localizations/lib/
flutter_web_plugins:file:///C:/Src/flutter/packages/flutter_web_plugins/lib/
google_fonts:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/google_fonts-1.1.0/lib/
http:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.2/lib/
http_parser:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-3.1.4/lib/
intl:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.16.1/lib/
js:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/js-0.6.2/lib/
logging:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/logging-0.11.4/lib/
matcher:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.9/lib/
material_design_icons_flutter:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/material_design_icons_flutter-4.0.5245/lib/
meta:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.3.0-nullsafety.2/lib/
nested:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/nested-0.0.4/lib/
path:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.8.0-nullsafety/lib/
path_provider:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.11/lib/
path_provider_linux:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-0.0.1 2/lib/
path_provider_macos:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4 3/lib/
path_provider_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-1.0.2/lib/
pedantic:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/pedantic-1.9.2/lib/
platform:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/platform-2.2.1/lib/
plugin_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-1.0.2/lib/
process:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/process-3.0.13/lib/
provider:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/provider-4.3.2/lib/
quiver:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/quiver-2.1.3/lib/
shared_preferences:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.8/lib/
shared_preferences_linux:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-0.0.2 1/lib/
shared_preferences_macos:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1 10/lib/
shared_preferences_platform_interface:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-1.0.4/lib/
shared_preferences_web:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2 7/lib/
sky_engine:file:///C:/Src/flutter/bin/cache/pkg/sky_engine/lib/
source_span:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.7.0/lib/
stack_trace:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.5/lib/
string_scanner:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.0.5/lib/
term_glyph:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/
typed_data:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.0-nullsafety.2/lib/
vector_math:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.0-nullsafety.2/lib/
xdg_directories:file:///C:/Src/flutter/.pub-cache/hosted/pub.dartlang.org/xdg_directories-0.1.0/lib/
website:lib/
  

Это мой .package файл, здесь вы можете видеть, что есть все пакеты, к которым я привык, вместе с каталогом (file:///C:/Src/ flutter — мой каталог).

.package это автоматически сгенерированный файл, поэтому вы можете удалить старый и запустить flutter pub get , чтобы он сгенерировал новый.

Комментарии:

1. Спасибо, но на самом деле это не ответ на мой вопрос. Я знаю, что такое . файл packages выглядит следующим образом. Я специально хочу знать, должен ли быть автоматически сгенерирован. файл packages находится внутри кэшированной версии пакета в .pub-cache, который я включил в свое приложение из репозитория git.

2. это просто расположение пакетов в библиотеке и путь к некоторым материалам и виджетам Cupertino.

3. очевидно, что это список местоположений для локально кэшированных пакетов, МОЙ ВОПРОС на самом деле заключается в том, следует ли его автоматически генерировать для пакетов, кэшированных из git inisde .pub-cache? и если да, то почему это не в моем случае?

4. .packages файл не существует в репозитории GitHub, потому что этот файл упоминается в .gitignore .