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

В чем разница между Package.json и Package-lock.json

package.json — это файл, описывающий зависимости проекта (dependencies и devDependencies) и метаданные (версия, скрипты и т. д.). Версии зависимостей могут указываться с гибкими диапазонами (^, ~), что позволяет устанавливать обновления в пределах мажорной/минорной версии.

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

Пример:
В package.json:

json
"dependencies": {
  "lodash": "^4.17.0"
}

В package-lock.json будет указана точная версия, например 4.17.21, и все её подзависимости.

Важно:

  • package-lock.json нельзя редактировать вручную.
  • При коммите в репозиторий его нужно включать, чтобы избежать "works on my machine" проблем.
  • npm ci использует package-lock.json для точной установки версий, в отличие от npm install.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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