Текст и данные · Инструкция
npm ci или npm install: что использовать с package-lock.json
В CI обычно важнее воспроизвести уже зафиксированное дерево; в разработке — изменить зависимости и обновить lockfile.
Короткий ответ
`npm ci` делает чистую установку из существующего lockfile, не переписывает его и падает при несоответствии package.json. `npm install` нужен, когда зависимости или lockfile требуется менять.
Порядок действий
- Убедитесь, что package-lock.json закоммичен и актуален.
- В CI запускайте `npm ci`.
- Для добавления/обновления пакета используйте `npm install ..`.
- После изменений закоммитьте оба 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.