Ответ 1
npm 5.7 ввел подкоманду npm ci
:
основные различия между использованием
npm install
иnpm ci
:
- Проект должен иметь существующий
package-lock.json
илиnpm-shrinkwrap.json
.- Если зависимости в блокировке пакета не совпадают с зависимостями в пакете.
package.json
,npm ci
выйдет с ошибкой, вместо обновления блокировки пакета.npm ci
может устанавливать только целые проекты за раз: отдельные зависимости не могут быть добавлены с помощью этой команды.- Если
node_modules
уже присутствует, он будет автоматически удален доnpm ci
.- Он никогда не будет писать в
package.json
или любой из пакетов-блокировок: установки по существу заморожены.