Fork me on GitHub

Используем npm для управления зависимостями

npm - пакетный менеджер для node.js. Сегодня мы рассмотрим как использовать npm для управления зависимостями и автоматизации деплоймента.

npm package management

Установка npm

Если у вас не установлен npm, то сделать это можно выполнив следующую команду:

:::bash
curl https://npmjs.org/install.sh | sh

Установка пакетов

Для того чтобы установить пакет при помощи npm нужно использовать команду npm install <package>. Где package может быть:

  • Путь к директории содержащей пакет описываемый файлом package.json
  • Архив в формате gzipped tarball
  • URL для скачивания архива в формате gzipped tarball
  • Название пакета в реестре пакетов с возможностью указания версии после знака @
  • URL удаленного репозитория git

По-умолчания, установка будет произведена локально, в текущую директорию. Для того чтобы выполнить установку глобально необходимо вызывать npm с флагом -g.

Управление зависимостями

При разработке приложений на node.js я использую множество различных модулей. Соответственно, при разворачивании приложения необходимо быть уверенным, что в системе установлены все требуемые пакеты. Рассмотрим, как npm помогает нам решить эту проблему.

Для описания пакета npm использует файл package.json, который размещается в корневой директории пакета. В файле содержится большое количество разной информации о пакете, рекомендую вам ознакомиться с форматом файла. Нас на данный момент интересует раздел dependencies, который содержит список пакетов от которых зависит приложение. К счастью вручную заполнять этот список не придётся, т.к npm умеет генерировать его самостоятельно. Для того, чтобы сгенерировать package.json выполните команду npm init, после чего вам необходимо будет ответить на несколько вопросов, вроде названия и версии пакета.

Для того чтобы установить, содержащийся в package.json, список пакетов необходимо выполнить команду npm install без указания дополнительных аргументов. Соответственно, для того чтобы автоматизировать процесс установки зависимостей, нужно поддерживать список зависимостей в package.json в актуальном состоянии и при каждом обновлении/разворачивании приложения выполнять команду npm install.

ссылки

онлайн