Dart Academy · Урок

Ограничения версий и lock-файл

Фиксируйте и разрешайте версии зависимостей

Урок 4 из 413 шагов

«Ограничения версий и lock-файл» — бесплатный урок Dart Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.

Зачем нужны ограничения

Ограничение версии сообщает pub, какие выпуски пакета принимает проект. Оно помогает получать исправления и одновременно избегать несовместимых изменений. 🎯

http: ^1.2.0

Семантическое версионирование

Пакеты Dart используют семантическое версионирование: major.minor.patch. Увеличение major означает несовместимые изменения, minor добавляет функции, а patch исправляет ошибки.

version: 2.4.1

Ограничение с кареткой

Каретка caret ^1.2.0 принимает любую версию от 1.2.0 включительно до 2.0.0 не включительно. Это стандартный удобный вариант, который использует pub.

http: ^1.2.0

Фиксация одной версии

Если записать только число, это означает точно указанную версию и никакую другую. Используйте такой вариант редко, когда нужен один конкретный проверенный выпуск.

http: 1.2.0

Ограничения диапазона

Диапазон можно явно записать с помощью операторов сравнения. Это даёт точный контроль над нижней и верхней границами.

http: '>=1.0.0 <2.0.0'

Ограничение any

Использование any принимает любую версию. Это рискованно: будущий выпуск major может нарушить работу, поэтому лучше предпочесть каретку.

http: any

Знакомство с lock-файлом

Когда pub разрешает зависимости, он записывает выбранные точные версии в pubspec.lock. Этот файл фиксирует то, что фактически устанавливают все пользователи.

Воспроизводимые сборки

Lock-файл гарантирует воспроизводимые сборки: участник команды, выполнивший pub get, получит те же версии, которые тестировали Вы, а не неожиданные обновления.

Нужно ли добавлять его в репозиторий

Для приложений добавляйте commit pubspec.lock в систему контроля версий. Для повторно используемых пакетов не добавляйте его, чтобы потребители разрешали версии самостоятельно.

Обновление lock-файла

Выполните dart pub upgrade, чтобы обновить pubspec.lock до самых новых версий, разрешённых ограничениями. Обычная команда get сохраняет существующие фиксации.

dart pub upgrade

Разрешение конфликтов

Если два пакета требуют несовместимые версии, pub сообщает о конфликте. Затем ослабьте ограничение или выберите совместимые версии пакетов.

Быстрая проверка

Какие версии допускает ограничение ^1.2.0?

Итоги

Теперь Вы умеете читать ограничения, такие как каретка и диапазоны, и знаете, что pubspec.lock фиксирует точные версии для воспроизводимых сборок без конфликтов. 🎉

Можно начать бесплатно

Изучай Dart с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Ограничения версий и lock-файл» бесплатный?

Да — полный текст урока «Ограничения версий и lock-файл» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.

Чему я научусь в уроке «Ограничения версий и lock-файл»?

Фиксируйте и разрешайте версии зависимостей Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Dart Academy?

Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Ограничения версий и lock-файл»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Dart Academy?

Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Устройство pubspec.yaml
  2. Добавление зависимостей с помощью dart pub
  3. Импорты, экспорты и библиотеки
  4. Ограничения версий и lock-файл
← Назад к Dart Academy