
Диспетчером пакетов проекта Node.js по умолчанию является npm.
Npm упрощает установку и обновление зависимостей. Когда зависимость указана в npmjs, например, в инфраструктуре Vue.js, даже отображается команда установки, которую можно скопировать и вставить в терминал.
Если вы давно используете npm, возможно, вы привыкли устанавливать или обновлять зависимости с помощью npm install (или более короткого npm i).
Это по-прежнему работает, но в npm v6 добавлена новая команда: npm ci.
В этом эссе я хочу подчеркнуть ключевые различия между ними и различными сценариями, в которых вы можете использовать эти команды.
установка npm (также известная как npm i)
- Установка зависимостей выполняется с помощью npm install или npm i.
- Все требования будут установлены.
- Точная версия вашей зависимости может быть не установлена npm, если вы используете или указываете версию вашей зависимости.
- Ваш package-lock.json может быть обновлен с помощью npm install при внесении изменений, например при добавлении новой зависимости.
npm ci
Используя npm ci, вы можете выполнять следующие задачи:
- Чтобы убедиться, что все чисто, он удалит вашу папку node_modules.
- Чтобы установить все зависимости с точной версией, он проверит ваш файл package-lock.json.
- Npm ci никогда не изменит ваш package-lock.json, в отличие от установки npm. Однако для этого требуется, чтобы в вашем проекте присутствовал файл package-lock.json; в противном случае npm ci не будет работать, и вам придется использовать npm install.
- Используйте npm ci для получения надежных сборок. Это полезно при использовании инструмента непрерывной интеграции, такого как Jenkins или GitLab CI.
Что следует использовать между npm ci и npm Install?
Если вы используете npm версии 6 или более поздней:
- Чтобы установить новые зависимости или обновить текущие (например, перейти с версии 1 на версию 2), используйте npm install.
- Используйте npm ci, если вы хотите установить зависимости без изменения package-lock.json или при использовании непрерывной интеграции.
Если ваша версия NPM v5 или ниже:
- Для установки или обновления зависимостей можно использовать только npm install.
Рассмотрите возможность обновления до самой последней версии npm. Он включает в себя команду аудита npm в дополнение к npm ci, что должно упростить поиск и устранение недостатков безопасности зависимостей.
Кроме того, npm v6 должен ускорить установку зависимостей.