Версия зависимости в Dart
В dependencies и в environment версию
задают не одним числом, а ограничением.
Так проект принимает исправления в пакете,
но не соглашается на несовместимый major-релиз
без явной правки pubspec.yaml.
Символ ^ перед номером называют кареткой.
Запись ^2.4.0 для sqlite3 означает:
версия не ниже 2.4.0 и ниже 3.0.0.
Тот же прием для SDK: ^3.13.0 допускает
3.13 и новее, но не 4.0.
Полный фрагмент с согласованными ограничениями:
Если нужна более старая линия sqlite3,
меняют только правую часть после имени пакета,
не трогая имя app и блок environment:
После смены ограничения снова выполняют
dart pub get, чтобы обновить
pubspec.lock. Без каретки строка
2.4.0 трактуется иначе, поэтому
в учебных проектах для внешних пакетов
обычно пишут именно ^.
Запишите одну строку для dependencies:
пакет sqlite3 с ограничением
^2.4.0 (с отступом как в YAML).
В проекте SDK уже ^3.13.0. Замените
версию sqlite3 на ^2.5.0
в блоке dependencies и укажите,
какую команду нужно выполнить после сохранения
pubspec.yaml.