Я создаю интерфейс HTML5 с использованием инструментов на основе NPM (grunt
).NPM Рекомендации по непрерывной интеграции
Одним из первых шагов моего процесса непрерывной интеграции является запуск npm install
.
npm install
является SLOW. Даже с локальными артефактами кэширования прокси-сервера NPM (Nexus 3 Sonatype), он все еще занимает 4 минуты!
$> time npm install
real 4m17.427s
user 0m0.170s
sys 0m0.290s
Если я следую за свои обычные лучшие практиками для непрерывной интеграции, я хотел бы начать с первозданным хранилищем SCM и запустить сборку. Это означает, что каждый раз, когда сборка CI должна будет сделать новый npm install
и взять на себя расходы в течение 4 минут.
Это Значительное доля моего времени сборки. Я недовольна тем, что сборка занимает очень много времени.
альтернатива, кажется, чтобы держать node_modules
вокруг между сборками. Однако у меня были проблемы с тем, что сборка стала нестабильной.
Извлечение зависимостей от package.json
не снимает их с node_modules
с помощью простого npm install
. Я могу обойти это с помощью npm prune
.
Что считается лучшей практикой здесь?
Какую версию npm вы используете? npm 5 хранит [локальный кеш пакетов] (https://docs.npmjs.com/cli/cache). – msanford