Пакет Flutter Publi sh Ошибка говорит о том, что пакет несовместим - PullRequest
1 голос
/ 16 июня 2020

Я опубликовал пакет какое-то время go. Но после нового анализа выдает предупреждение

Пакет несовместим с SDK dart

Показывает

Предложения по анализу:

Пакет несовместим с SDK dart

из-за пути импорта [ola_like_country_picker]

Я не понял, откуда эта ошибка. Вот ссылка на пакет https://pub.dev/packages/ola_like_country_picker# -analysis-tab-

1 Ответ

1 голос
/ 16 июня 2020

это решается в этой проблеме github

TLDR

Когда флаттер создавал федеративные пакеты, мы говорили о том, чтобы дать пакету два номера версии. Мы решили эту проблему, создав два пакета.

Возможно, здесь два пакета:

package:kernel_api which is a series of abstract classes. The major version is only bumped when the interfaces for parsing kernel

файлы повреждены. package: kernel_parser, в котором есть функция, возвращающая конкретный экземпляр абстрактного класса из package: kernel_api, который можно использовать для анализа файлов ядра. Основная версия этого пакета обновляется всякий раз, когда формат ядра нарушается. На практике он может следовать второстепенным версиям Dart SDK (для его основной версии).

Это означает, что вы используете версию файла-формата в пакете, отличную от версии интерфейсов, используемых для чтения файлового формата. Если это имеет смысл :) https://github.com/dart-lang/sdk/issues/39167#issuecomment -547646728

После некоторого обсуждения этого в Орхусе между мной, @jonasfj, @johnniwinther, @stefantsov и @jensjoha, мы обдумывает идею перемещения общих частей анализатора и front_end в новый пакет (который, в частности, не будет зависеть от ядра). Это полностью отделит анализатор от ядра. Это не решило бы эту проблему напрямую, но уменьшило бы ее объем, отделив решение о том, как импортировать ядро ​​(и какую версию импортировать) от каких-либо соображений анализатора. Затем мы могли бы рассмотреть такие варианты, как:

Flutter's transformer imports kernel directly from the SDK using a relative path
Kernel increments their major version number with every SDK release, so that Flutter can be assured they have a compatible version

ядра, поместив нужную версию в pubspec. Ядро публикует отдельный пакет для каждого выпуска SDK (например, от kernel_2_7 до go с Dart 2.7). Ядро разделено на два пакета в соответствии с предложением @ jonasfj выше.

В настоящее время я жду отзывов об этой идее от команд анализатора и клиентской части. https://github.com/dart-lang/sdk/issues/39167#issuecomment -547984002

...