n1ro°
RU

Текст и данные · Инструкция

npm ci или npm install: что использовать с package-lock.json

В CI обычно важнее воспроизвести уже зафиксированное дерево; в разработке — изменить зависимости и обновить lockfile.

Редакция N1RO · Проверено

Короткий ответ

`npm ci` делает чистую установку из существующего lockfile, не переписывает его и падает при несоответствии package.json. `npm install` нужен, когда зависимости или lockfile требуется менять.

Порядок действий

  1. Убедитесь, что package-lock.json закоммичен и актуален.
  2. В CI запускайте `npm ci`.
  3. Для добавления/обновления пакета используйте `npm install ..`.
  4. После изменений закоммитьте оба manifest-файла и снова проверьте `npm ci`.

Перед завершением проверьте

  • Lockfile соответствует package.json.
  • Флаги разрешения дерева согласованы между install и CI.

Важно

Если lockfile создавался с особыми флагами вроде legacy-peer-deps, npm ci может требовать те же настройки.

Что учитывать

Если lockfile создавался с особыми флагами вроде legacy-peer-deps, npm ci может требовать те же настройки.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. npm-ci). Пример и формулировки — редакция N1RO на 2026-09-20.