JavaScript 📜
October 23, 2024

Как запустить npm install без выполнения скрипта prepare

При разработке проектов на JavaScript с использованием Node.js и npm, иногда возникает необходимость установить зависимости без запуска скриптов, таких как prepare. Этот сценарий может быть полезен в различных случаях, особенно в автоматизированных средах, таких как CI/CD (непрерывная интеграция и доставка), где выполнение лишних скриптов может замедлить процесс сборки или привести к ошибкам.

В этой статье мы рассмотрим, как можно запустить npm install, избегая выполнения скрипта prepare.

Что такое скрипт prepare?

Скрипт prepare в npm выполняется автоматически перед публикацией пакета и после установки зависимостей. Он предназначен для подготовки пакета к публикации, например, для сборки или компиляции исходного кода. Однако в некоторых случаях может потребоваться установка зависимостей без этой подготовки.

Использование флага --ignore-scripts

Запуск в командной строке

Одним из самых простых способов избежать выполнения скрипта prepare является использование флага --ignore-scripts. Этот флаг предотвращает выполнение всех скриптов, связанных с установкой. Чтобы использовать этот флаг, просто выполните следующую команду в терминале:

npm install --ignore-scripts

Этот подход позволяет установить зависимости без запуска скрипта prepare и любых других скриптов, которые могут быть прописаны в вашем package.json.

Применение в CI/CD, например, в TeamCity

Если вы используете TeamCity или другой инструмент для непрерывной интеграции, вы можете легко настроить запуск npm install с флагом --ignore-scripts в вашей конфигурации сборки:

  1. Перейдите в вашу конфигурацию сборки в TeamCity.
  2. В разделе "Build Steps" добавьте новый шаг сборки.
  3. В качестве команды укажите:bashCopy codenpm install --ignore-scripts

Это обеспечит установку зависимостей без выполнения скриптов, что может существенно ускорить процесс сборки и снизить вероятность возникновения ошибок.

Альтернативный подход: использование переменной окружения

Еще одним способом пропустить выполнение скрипта prepare является использование переменной окружения NPM_CONFIG_NO_PREPARE. Вы можете установить эту переменную перед запуском команды npm install. Например:

NPM_CONFIG_NO_PREPARE=true npm install

Однако данный метод требует дополнительных усилий при настройке и может быть менее удобен, чем использование флага --ignore-scripts.