Бесплатная миграция IT-инфраструктуры в облако

Добавление и удаление пакетов с помощью npm или Yarn

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
20 апреля 2022 г.
8528
5 минут чтения
Средний рейтинг статьи: 2.7

Одна из приятных особенностей открытого кода – большинство типовых модулей на современных языках программирования уже написаны, часто в нескольких разных реализациях. Их тестировали десятки, а то и сотни программистов. Получается, что разработчику достаточно приложить усилия для поиска и адаптации нужного кода к собственному приложению. Это заметно ускоряет разработку, уменьшает риски недочетов, позволяет быстро выпускать новые продукты.

Перечисленное справедливо и для программной платформы Node.js. Она основана на движке V8 и превращает JavaScript из узкоспециализированного инструмента в язык общего назначения. На нем разработаны различные пакеты, преимущественно для веб-приложений. Например, чаты, коммуникационные приложения, игровые программы. Модули в основном пишут разработчики с опытом, они часто имеют серверную и клиентскую части, широкий функционал в плане настройки.

В данной статье мы рассмотрим пару команд: npm и yarn. Они представляют собой инструмент для управления пакетами (пакетные менеджеры) в среде Node.js. Оба обращаются к файлу-манифесту для проектов package.json и функционируют схожим образом. Предположим, что читатель уже имеет установленный Node.js, а, значит, и предустановленные npm и yarn. Если это не так, стоит обратиться к технической документации и инсталлировать их. Например, при помощи имеющегося менеджера пакетов. 

Добавление И Удаление Пакетов С Помощью Npm Или Yarn (1)

Сразу уточним, что ряд из них мы будем ставить в глобальном режиме, а остальные в виде зависимости текущего проекта. И начнем мануал с создания «площадки» для последующих тестов (можно применить ранее созданный). В виде примера сделаем его, размещенным в каталоге /tmp. Выполним это командами:

$ mkdir /tmp/mynewproject
$ cd /tmp/mynewproject
$ npm init –y

Приведенные команды создадут файл package.json, в котором впоследствии мы и будем подключать или удалять пакеты.

Подробнее о NPM и YARN

Изначально дополнение npm (Node Package Manager) разрабатывалось как менеджер пакетов зависимостей Node.js. Оно упростило создание фронтальной части приложений (интерфейсной) в дополнение к серверу, написанному на JavaScript. Модуль yarn чаще идет в качестве расширения возможностей npm. Пример команды для установки yarn через npm:

npm install -g yarn

Перед началом работы желательно обновить менеджер пакетов:

npm install npm –g

Теперь о практическом применении команд. В качестве тестовой базы можно использовать сервисы провайдера timeweb.cloud.

Подключим зависимости разработки

Отметим, что зависимости неодинаковы. Ряд из них востребован лишь на этапе разработки, затем же их можно свободно удалять. Хотя они остаются функционально необходимыми, но их наличие дает замедление при установке, ведь на инсталляцию дополнительных модулей тратится время.

Типичный вариант зависимости разработки – программы для тестов вроде mocha или jest. Они устанавливаются в раздел devDependencies ранее созданного нами файла package.json. Выполним процедуру командой:

# NPM
$ npm install --save-dev mocha
# сокращенная версия
$ npm i -D mocha
# Yarn
$ yarn add --dev mocha
# сокращенная версия
$ yarn add -D mocha

Подключим продакшн-зависимости в проект

Если зависимость критична для функционирования приложения, ее необходимо устанавливать независимо от стадии, будь то разработка или продакшн. В такую категорию попадают пакеты вроде express, react, от которых зависит файловая структура, поддержка API, генерация пользовательского интерфейса и пр. Их добавление формально ничем не отличается от зависимостей разработки, но раздел, куда их будем размещать другой – dependencies. Введем команды:

# NPM
$ npm install --save express
# сокращенная версия
$ npm i -P express
# Yarn
$ yarn add express

Поставим глобальные зависимости

Разработка однотипных приложений делает более удобным инсталляцию требуемых пакетов. Тогда они станут открытыми для старых и вновь создаваемых в действующей системе пакетов и не будут требовать времени и ресурсов на дублирование служебных файлов. Подобным образом пакеты инсталлируют «глобально». В список вносят утилиты, обычно запускаемые в паре с другими, без которых невозможно функционирование системы. Пример команды:

# NPM
$ npm install --global json
# сокращенная версия
$ npm i -g json
# Yarn
$ yarn global add json

Удалим зависимости из текущего проекта

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

Пример для деинсталляции зависимостей из проекта:

# NPM
$ npm uninstall jest
# сокращенная версия
$ npm r jest
# Yarn
$ yarn remove jest

Приведенная команда удалит пакеты из node_modules и уберет зависимость из package.json.

Удалим глобальный пакет

То же относится и к глобальным зависимостям. Если ряд однотипных проектов завершен, они уже никакой роли на рабочей машине программиста не играют. Процедура удаления аналогична ранее приведенному примеру, но здесь используется опция --global, как и при инсталляции зависимостей с глобальным значением.

Пример команды:

# NPM
$ npm uninstall --global json
# сокращенная версия
$ npm r -g json
# Yarn
$ yarn global remove json

Выводы

Мы вкратце рассмотрели возможности по добавлению и удалению зависимостей, используемых при разработке приложений на Node.js. Пакеты npm и yarn неплохо дополняют базовый функционал и позволяют ускорить создание программ как со стороны фронтенда, так и бэкенда.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
20 апреля 2022 г.
8528
5 минут чтения
Средний рейтинг статьи: 2.7
Пока нет комментариев