hostprofi.ru
Подобрать хостинг
Термин·буква N

NPM

краткое определение

NPM (Node Package Manager) — менеджер пакетов для Node.js и JavaScript, входящий в стандартную поставку Node.js. Содержит более 2,5 млн пакетов — крупнейший в мире реестр программных библиотек.

npm (Node Package Manager) — менеджер пакетов для Node.js и крупнейший публичный реестр программных пакетов в мире. Состоит из двух компонентов: CLI-утилиты (npm install, npm run) и публичного реестра registry.npmjs.org с более чем 2,5 млн пакетов (2024). Зависимости описываются в package.json; зафиксированные версии — в package-lock.json.

Основные команды

  • npm install — установить все зависимости из package.json в node_modules/
  • npm install express --save — добавить зависимость в dependencies
  • npm install jest --save-dev — добавить в devDependencies
  • npm install -g typescript — глобальная установка
  • npm run build — выполнить скрипт «build» из package.json
  • npm ci — «чистая» установка по lock-файлу, для CI/CD
  • npm outdated — список устаревших пакетов с актуальными версиями
  • npm audit — проверка зависимостей на уязвимости (CVE)
  • npm publish — публикация пакета в реестр

История

npm создан Айзеком Шлютером (Isaac Schlueter) в 2009 году. Первый пакет — npm версии 0.0.1 (12 ноября 2009). В 2014 году npm Inc. привлекла инвестиции. В 2020 году GitHub (Microsoft) купила npm Inc., сохранив реестр общедоступным. Альтернативы: Yarn создан Facebook в 2016 году для решения проблем скорости и воспроизводимости. pnpm появился в 2017 году с экономией диска через symlink-архитектуру. npm 7 (2020) представил workspaces; npm 8 (2021) — переработал peer dependencies; npm 9 (2022) — ускорил установку и изменил настройки по умолчанию.

npm vs Yarn vs pnpm

Параметрnpm 10Yarn 4pnpm 9
Скорость установкиСредняяВысокая (PnP)Максимальная
Экономия дискаНетНет (legacy) / Да (PnP)Да (content-addressable store)
Workspaces (monorepo)Да (npm 7+)ДаДа (лучший)
Встроен в Node.jsДаНетНет (corepack)

Безопасность

npm audit сканирует дерево зависимостей на известные уязвимости из базы данных GitHub Advisory. Команда npm audit fix автоматически обновляет патченные версии. Критическая проблема экосистемы: зависимости имеют тысячи транзитивных зависимостей — атаки на цепочку поставок (supply chain attacks) участились с 2021 года. Инцидент: colors и faker намеренно сломаны автором в 2022 году, затронув тысячи проектов.

На что обращать внимание в хостинге

На VPS с Node.js-приложениями node_modules/ занимает 100–500 МБ. Не копируй node_modules/ при деплое через Git deploy — запускай npm ci --omit=dev на сервере. В Docker: используй многоступенчатую сборку, чтобы devDependencies не попали в продакшн-образ. В CI/CD: кэшируй директорию ~/.npm между запусками для ускорения установки.

Другие термины

NPM — что это, определение и как работает | Справочник — hostprofi.ru