В Dart and Pub следует добавить pubspec.lock в свой .gitignore?

Должен ли я добавить этот сгенерированный файл в мой .gitignore, чтобы он не отображался в моем репозитории?

Должен ли pubspec.lock быть включен в мой репозиторий?

Ответ 1

Этот ответ состоит из двух частей, аналогично вопросу и ответам в на этот вопрос о Ruby bundler.

Пакеты приложений

Если вы работаете над пакетом , то вы должны оставить файл pubspec.lock в своем репозитории как снимок ваших зависимостей.

Из глоссария Pub:

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

Библиотечные пакеты

Однако, если вы работаете над пакетом , вам не следует проверять файл блокировки.

Из глоссария Pub:

Библиотечные пакеты не должны проверять свой файл блокировки в исходном элементе управления, поскольку они должны поддерживать ряд версий зависимостей.


См. также Запись глоссария для файлов блокировки