#flutter #dart #continuous-integration
#flutter #dart #непрерывная интеграция
Вопрос:
Кто-нибудь знает, можете ли вы выполнять воспроизводимые сборки во Flutter? Похоже, что нет возможности установить из pubspec.lock
файла. Я бы ожидал чего-то вроде:
flutter pub get --from-lockfile
Проблема в том, что pubspec.lock
изменяется при каждом запуске flutter pub get
, поэтому я не могу легко вернуться к предыдущему состоянию зависимостей в разных точках истории git.
Я бы ожидал, что он будет вести себя как yarn.lock или package-lock.json, которые позволяют создавать воспроизводимые сборки проекта.
Комментарии:
1.
pub get
следует уже сделать это в разумных пределах в соответствии с документами2. Да, если предполагаемое поведение может быть воспроизведено на минимальном примере с использованием
pub get
из Dart SDK, пожалуйста, сообщите о проблеме здесь: github.com/dart-lang/pub
Ответ №1:
Как упоминалось в документе, pub get
следует извлекать то, что находится в pubspec.lock
, если файл блокировки содержит решение для требований к зависимостям и ограничений, настроенных в pubspec.yaml
. Проще говоря, если pubspec.yaml
и pubspec.lock
не изменены, и ни Dart, ни Flutter SDK не обновлены, то pub get
следует извлечь то, что указано в pubspec.lock
.
Если у вас все еще возникают проблемы, которые можно воспроизвести, вы можете сообщить о проблеме здесь https://github.com/dart-lang/pub/issues — как jonasfj также упоминал в комментариях.
Комментарии:
1. Ключевым для меня было » и ни Dart, ни Flutter SDK не обновлены «. У меня всегда возникают проблемы с воспроизводимостью при проверке старого коммита. Понижение версии до предыдущей версии Flutter перед запуском
flutter pub get
делает свое дело.