Flutter - добавление зависимости к пакету не решает проблему с зависимостями во время компиляции приложения.

Я только что создал свой первый пакет flutter. В нем просто код дротика, поэтому он довольно простой. Однако я использую в своем пакете одну внешнюю зависимость для пакета поставщика. Поскольку я не использую какие-либо классы провайдеров вне пакета, я понимаю, что мне не нужно добавлять 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 зависимости к своему приложению, все будет компилироваться.


person Angel Todorov    schedule 05.07.2019    source источник
comment
Что-нибудь придумать по этому поводу? У меня аналогичная проблема.   -  person eimmer    schedule 18.09.2019
comment
Нет, на самом деле я закончил тем, что добавил зависимость к самому приложению.   -  person Angel Todorov    schedule 18.09.2019
comment
Понятия не имею, почему, но для меня это было вызвано реальной проблемой зависимости с приложением для хостинга ... Я решил это, и все было в порядке.   -  person eimmer    schedule 19.09.2019
comment
ты нашел какое-нибудь решение? Я тоже столкнулся с той же проблемой.   -  person Shahzad Akram    schedule 03.02.2020


Ответы (4)


Убедитесь, что зависимости находятся в разделе «dependencies:», а не «dev_dependencies:» в вашем пользовательском пакете pubspec.yaml.

person Ricardo Chen He    schedule 31.01.2020

Остановите ваше приложение и запустите его снова. Также убедитесь, что вы добавили своего провайдера в зависимости, а не в dev_dependencies.

person Rudra Gupta    schedule 23.07.2020

Попробуйте запустить Pub get после добавления зависимости, затем остановите приложение и снова запустите его вместо использования горячего перезапуска. В любом случае это сработало для меня.

person Tom    schedule 28.05.2020

Была такая же проблема с пакетом path_provider.

Ошибка: не удалось разрешить пакет «path_provider» в «package: path_provider / path_provider.dart».

Ошибка: не найдено: ‘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 2.0.6 до 2.2.1.

person Jakub S.    schedule 01.06.2021