Основы npm
Цель
В этом уроке мы научимся устанавливать пакеты с помощью npm и изучем основные команды по работе с ним.
Предварительные требования
Установленны Node.js и npm
Что такое npm
С помощью npm можно устанавливать пакеты локально или глобально. В локальном режиме пакеты устанавливаются в каталог node_modules
родительского каталога. Глобальные пакеты устанавливаются в каталог где расположен npm.
Чтобы узнать информацию об установке можно выполнить команду npm config list
На консоль будет выведена нужная нам информация.
Для получения значения конкретной опции используется команда npm config get
Так выполнив команду npm config get prefix
мы получим путь установки глобальных пакетов.
Кроме получения опций, мы также можем их изменять. Для этого мы воспользуемся командой npm config set
.
Чтобы заменить текущий путь установки глобальных пакетов, напраимер на папку node_modules_global
ву домашней директории, необходимо вполнить команду npm config set prefix=$HOME/.node_modules_global
С помощью npm config get
можно проверить, что путь поменялся.
Глобальная установка пакетов
Для глобальной установки используется флаг --global
, его можно записывать сокращенно -g
.
Для примера установим глобально пакет nodemon. Выполним команду npm install -g nodemon
Команды для установки можно найти в описании пакета на официальном сайте npm.
Вместо install
можно использывать сокращение i
Для получения списка всех глобально установленных пакетов можно выполнить команду npm list -g
.
Локальная установка пакетов
Перед тем как устанавливать пакеты локально для проекта, произведем следующие операции по предварительной инизиализации проекта, которая включает в себя добавления специального файла, в котором содержится информация о проекте:
- Перейдите в консоли в папку вашего проекта
- Выполните команду
npm init
- Вам будет предложен список вопросов, если вам походит вариант ответа указанный в скобках, то просто нажмите клавишу Enter, в противном случае впишите ответ самостоятельно.
После этого будет создан файл package.json следующего вида
Файл package.json содержит в себе информацию о вашем приложении: название, версия, зависимости и тому подобное. Любая директория, в которой есть этот файл, интерпретируется как Node.js-пакет, даже если вы не собираетесь публиковать его.
Вы можете сгенерировать это файл и более простым способом, с помощью npm init --yes
(автоматический ответ “да” на все вопросы):
Теперь установим один из наиболее часто используемых фреймворков для Node.js express. Так как устанавлеваем мы его н глобально, то просто опустим флаг. Выполним команду npm i express --save
.
После этого в директории нашего проекта создасться папкаnode_modules
с установленным пакетов. Также в файлеpackage.jsonдобавиться свойство "dependencies" c названием пакета и его версией.
Флаг --save
используется для сохранения установленного пакета в package.json в свойсво "dependencies",также его можно записывать сокращенно -S
.
Для того, чтобы пакеты автоматически прописывались вpackage.jsonнеобходимо выполнить команду npm config set save true
Для того чтобы сэкономить время на установку нужных пакетов, можно просто записать названия всех необходимых пакетов с их версиями в свойсво "dependencies" файла package.json и выполнить команду npm install
. Все пакеты будут добавлены в node_modules
Также для установки зависимостей есть и другое свойство "devDependencies", установить пакеты сюда можно с помощью флага --save-dev
(сокращенно -D
)
devDependencies — пакеты, которые нужны для разработки. Всякие галпы-гранты и плагины к ним обычно подпадают в эту категорию.
dependencies — пакеты, от которых ваш пакет зависит непосредственно: как правило — библиотеки.
Для получения списка всех локально установленных пакетов можно выполнить команду npm list
.
Так как npm это пакетный менеджер, у него есть возможность удалять пакеты. Предположим, что установленная версия express вызывает проблемы с совместимостью. Мы можем удалить этот пакет командой npm uninstall express
Для установки нужной версии express d команде установки указывается номер версии после символа @
. Например npm install [email protected]
Для обновления пакета до последней версии используется команда npm update express
Практическое задание
Найдите на сайте npm и установите глобально пакет 'webpack' и локально пакет 'gulp'.
Глоссарий
Термин | Значение |
---|---|
Дирректория | Каталог файловой системы |
Фреймворк | Программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. |