У нас возникла проблема с пакетом flutter_html
в нашем проекте после обновления флаттера, но есть потенциальное исправление, представленное в качестве PR другим пользователем github. Проблема в том, что я не могу заставить их изменения переопределить базовый пакет, а именно потому, что мы также используем flutter_html_table
, который полагается на flutter_html
для разрешения своей версии с помощью flutter pub get
.
Вот что я пытался использовать в файле pubspec.yaml
проекта:
flutter_html: ^3.0.0-alpha.6
flutter_html_table: ^3.0.0-alpha.3
dependency_overrides:
flutter_html:
git:
url: https://github.com/Sub6Resources/flutter_html.git
ref: 6908733505732bff93a5e7d45e822bd837c16c5b
Но изменения, внесенные в коммит git, на который я сослался как dependency_override
, не отражаются в исходном коде плагина, когда я проверяю его внутри проекта. Это после того, как я запустил flutter clean
, чтобы убедиться, что кэшированные версии не используются вместо этого.
Я также пытался поменять местами версии пакета git/pub.dev, но это не решается при сборке проекта, поэтому я предполагаю, что это неправильный подход.
Я также только что попытался запустить flutter pub cache repair
, чтобы убедиться, что кеш действительно очищен, но это все еще не влияет на внесение изменений из фиксации в мой проект.
Спасибо за ответ @jamesdlin :) Я заменил ссылку, чтобы использовать то, что вы там упомянули, и теперь все работает нормально. Однако, когда я запускаю свое приложение, проблемные виджеты по-прежнему ссылаются на исходный пакет, а не на пакет из ссылки переопределения. Нужно ли мне изменить импорт, чтобы он указывал на пакет git?
Я решил это сейчас, спасибо! Оставляю свой предыдущий комментарий, чтобы помочь другим найти его.
Проблема возникла из-за того, что dependency_overrides
применяются только к пакету, который они определены в. Поскольку мой проект имеет несколько зависимостей (приложение, ядро, типы и т. д.), и я определял переопределение в «ядре», пакет «приложение» (который зависит от «ядра») использовал исходный пакет flutter_html
вместо переопределенного. .
Перемещение переопределения зависимости в пакет моего приложения pubspec.yaml решило проблему :)
В репозитории github.com/Sub6Resources/flutter_html.git такого
690873...
коммита нет. Просматривая PR, я предполагаю, что вы имеете в виду github.com/Sub6Resources/flutter_html/pull/1191 . Для этого вам нужно будет использовать репозиторий для соответствующего форка ( github.com/darkstarx/flutter_html.git ). Либо примените патч к своему собственному локальному клонуflutter_html
репозитория и используйтеdependency_overrides
, чтобы обратиться к вашей локальной копии.