npm - пакетный менеджер для node.js. Сегодня мы рассмотрим как использовать npm для управления зависимостями и автоматизации деплоймента.
Установка npm
Если у вас не установлен npm
, то сделать это можно выполнив следующую команду:
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
.