- Home »

Node.js — установка и удаление пакетов с помощью npm и Yarn
Если ты только начинаешь погружаться в мир Node.js, или уже давно крутишь серверы и хочешь автоматизировать рутину, то эта статья для тебя. Здесь разберём, как устанавливать и удалять пакеты в Node.js с помощью двух самых популярных инструментов — npm и Yarn. Почему это важно? Потому что грамотная работа с пакетами — залог стабильности, безопасности и скорости твоих проектов. А если ты настраиваешь сервер под себя или под клиентов, то без этих знаний никуда. Будет много практики, реальных кейсов, сравнения, советы по автоматизации и немного гиковских лайфхаков. Поехали!
Как это работает? Кратко о пакетных менеджерах Node.js
Node.js — это не только движок для запуска JavaScript на сервере, но и огромная экосистема модулей. Чтобы не скачивать и не подключать всё вручную, придумали пакетные менеджеры. Самые известные — npm (Node Package Manager) и Yarn (от Facebook).
- npm — идёт в комплекте с Node.js, официальный, самый распространённый.
- Yarn — альтернатива от Facebook, появился из-за недовольства скоростью и стабильностью npm (особенно в начале).
Оба менеджера умеют:
- Скачивать и устанавливать пакеты (библиотеки, утилиты, CLI-инструменты и т.д.)
- Удалять ненужные пакеты
- Обновлять зависимости
- Хранить список зависимостей в
package.json
- Работать с приватными и публичными репозиториями
Всё это — must have для любого, кто настраивает сервер под Node.js. Без пакетного менеджера ты будешь вручную копировать файлы, следить за версиями, а это боль и страдания.
Как быстро и просто всё настроить?
Первое, что нужно — установить Node.js. Обычно это делается через пакетный менеджер твоей ОС или с официального сайта https://nodejs.org/. После установки у тебя уже будет npm.
Проверить версию:
node -v
npm -v
Если хочешь попробовать Yarn — ставь его глобально:
npm install -g yarn
или по инструкции с официального сайта: https://yarnpkg.com/getting-started/install
Инициализация проекта
Перед установкой пакетов обычно создают package.json
— файл, где будут храниться все зависимости и настройки проекта.
npm init -y
# или
yarn init -y
Ключ -y
— чтобы не отвечать на вопросы, всё по дефолту. Для серверных проектов этого достаточно.
Установка пакетов: npm vs Yarn
Вот тут начинается магия. Допустим, тебе нужен пакет express — популярный фреймворк для Node.js.
Действие | npm | Yarn |
---|---|---|
Установить пакет (локально) | npm install express |
yarn add express |
Установить пакет (глобально) | npm install -g pm2 |
yarn global add pm2 |
Установить dev-зависимость | npm install --save-dev nodemon |
yarn add --dev nodemon |
Установить конкретную версию | npm install [email protected] |
yarn add [email protected] |
Всё просто: npm install = yarn add. Для глобальных пакетов добавляй -g
или global
. Для dev-зависимостей — --save-dev
или --dev
.
Удаление пакетов
Действие | npm | Yarn |
---|---|---|
Удалить пакет | npm uninstall express |
yarn remove express |
Удалить глобальный пакет | npm uninstall -g pm2 |
yarn global remove pm2 |
После удаления пакет исчезает из node_modules
и package.json
. Всё чисто, красиво, без мусора.
Примеры, схемы, практические советы
Кейс 1: Быстрая установка всех зависимостей
Если ты клонировал проект с GitHub или получил архив, просто выполни:
npm install
# или
yarn install
Все зависимости подтянутся из package.json
. Это удобно для CI/CD, автоматизации и быстрого деплоя на сервере.
Кейс 2: Обновление пакетов
Пакеты устаревают, появляются баги и уязвимости. Обновлять — важно!
npm update
# или
yarn upgrade
Для глобальных пакетов:
npm update -g
yarn global upgrade
Кейс 3: Чистка мусора
Иногда после удаления пакетов остаются лишние файлы. Для npm есть команда:
npm prune
Yarn сам следит за чистотой, но можно использовать:
yarn autoclean --init
yarn autoclean --force
Кейс 4: Работа с приватными пакетами
Если у тебя свой npm-репозиторий (например, Verdaccio), можно подключить его:
npm set registry https://your-private-registry.com/
Yarn тоже поддерживает приватные реестры через .npmrc
или .yarnrc
.
Кейс 5: Автоматизация через скрипты
В package.json
можно прописывать свои команды:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"deploy": "npm install && npm run build"
}
Запускать так:
npm run dev
yarn dev
Положительные и отрицательные кейсы
Кейс | Что было не так | Как правильно | Рекомендация |
---|---|---|---|
Установка пакета без --save (npm <5) |
Пакет не попал в package.json , на сервере не установился |
Использовать npm install express --save (или просто npm install express в новых версиях) |
Проверяй package.json после установки |
Удаление пакета вручную из node_modules |
Остались записи в package.json , конфликт версий |
Использовать npm uninstall или yarn remove |
Никогда не трогай node_modules руками |
Глобальная установка пакетов для проекта | Пакет не работает на сервере, где нет глобальной версии | Устанавливать как локальную зависимость | Глобально ставь только CLI-утилиты (pm2, nodemon и т.д.) |
Смешивание npm и Yarn | Конфликт lock -файлов, баги при деплое |
Использовать только один менеджер на проект | Удаляй лишние package-lock.json или yarn.lock |
npm vs Yarn: сравнение и статистика
Параметр | npm | Yarn |
---|---|---|
Скорость установки | Средняя (npm 7+ стал быстрее) | Быстрее (особенно на больших проектах) |
Лок-файл | package-lock.json |
yarn.lock |
Работа с монорепозиториями | Поддержка через workspaces (npm 7+) |
Отличная поддержка workspaces |
Интерфейс команд | Стандартный | Более лаконичный |
Поддержка | Официальный, всегда актуален | Активное сообщество, быстро внедряют фичи |
На практике — для серверных задач разницы почти нет. Если проект уже на npm — оставайся на нём. Если нужна скорость и работа с монорепозиториями — попробуй Yarn.
Похожие решения и утилиты
- pnpm — ещё один менеджер, экономит место за счёт жёстких ссылок. https://pnpm.io/
- npx — запуск пакетов без установки (идёт в комплекте с npm 5.2+)
- Verdaccio — приватный npm-реестр для локальной сети. https://verdaccio.org/
Интересные факты и нестандартные способы использования
- Можно запускать Node.js-проекты прямо из GitHub без клонирования, используя
npx
:
npx github:username/repo
- Yarn поддерживает Plug’n’Play — модули не копируются в
node_modules
, а подключаются напрямую. Это ускоряет запуск и экономит место. - npm и Yarn можно использовать для автоматизации не только JS-проектов, но и любых задач: деплой, бэкапы, миграции БД — всё через скрипты в
package.json
. - Можно создавать свои CLI-утилиты и распространять их через npm/yarn — удобно для автоматизации серверных задач.
Новые возможности для автоматизации и скриптов
- Быстрое развёртывание окружения:
npm ci
илиyarn install --frozen-lockfile
— гарантирует идентичные зависимости на всех серверах. - Интеграция с CI/CD: установка, тесты, деплой — всё через npm/yarn-скрипты.
- Мониторинг уязвимостей:
npm audit
иyarn audit
— проверка зависимостей на наличие известных багов и дыр. - Работа с workspaces: удобно для микросервисов и монорепозиториев.
Выводы и рекомендации
Node.js без пакетного менеджера — как сервер без SSH: вроде работает, но управлять невозможно. npm и Yarn — это твои главные инструменты для установки, удаления и управления зависимостями. Они экономят время, делают проекты стабильнее и безопаснее, позволяют автоматизировать рутину и быстро масштабировать решения.
- Для большинства серверных задач хватит стандартного npm.
- Если нужна скорость, работа с монорепозиториями или хочется попробовать что-то новое — смело ставь Yarn.
- Не смешивай менеджеры в одном проекте — это путь к хаосу.
- Используй скрипты в
package.json
для автоматизации любых задач: от деплоя до бэкапов. - Следи за обновлениями, проверяй уязвимости, не держи мусор в зависимостях.
Если ты хочешь быстро развернуть свой сервер для Node.js — посмотри VPS или выделенный сервер на нашем блоге. Всё просто, надёжно и под твои задачи.
Удачи в автоматизации и пусть твои проекты всегда собираются с первого раза!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.