Что такое установка по package-lock.json

Ответ

package-lock.json — это файл, автоматически генерируемый npm при установке зависимостей. Он фиксирует точные версии пакетов и их зависимостей, обеспечивая воспроизводимость сборки.

Ключевые моменты:

  • Записывает дерево зависимостей с точными версиями (включая вложенные)
  • Игнорируется в .npmrc при package-lock=false
  • Обновляется при изменении package.json или ручном вызове npm install

Пример команды:

npm ci # Чистая установка из lock-файла (быстрее и строже, чем npm install)

Отличие от npm install:

  • npm install может обновить версии в package-lock.json, если диапазоны в package.json разрешают это
  • npm ci строго следует lock-файлу и удаляет node_modules перед установкой