Встречается на собеседованиях • сегодня

Зачем коммитить package-lock.json

package-lock.json фиксирует точные версии всех зависимостей и их подзависимостей, гарантируя, что у всех разработчиков и на CI будут установлены одинаковые пакеты. Это предотвращает проблемы из-за автоматических обновлений (semver может привести к разным версиям при npm install).

Пример проблемы без lock-файла:

  • У тебя работает lodash@4.17.20, но у коллеги после npm install ставится 4.17.21 с критическим багом.
json
// package-lock.json (фрагмент)
"lodash": {
  "version": "4.17.20",
  "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
  "integrity": "sha512-..."
}

Не коммитить lock-файл — это риск получить "у меня работает" баги. Исключение — библиотеки (там lock обычно игнорируют).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы