← Назад к вопросам

Для чего используется npm?

1.0 Junior🔥 241 комментариев
#Node.js и JavaScript

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Для чего используется npm

NPM (Node Package Manager) — пакетный менеджер для Node.js, который решает основные задачи разработки:

Главные функции

1. Установка зависимостей

npm install express

Онлайн скачивает пакет и все его зависимости в node_modules.

2. package.json — манифест проекта

Описывает требования к проекту:

{
  "name": "api",
  "dependencies": { "express": "^4.18.0" },
  "devDependencies": { "jest": "^29.0.0" },
  "scripts": { "start": "node index.js" }
}

3. Версионирование

package-lock.json фиксирует все версии. Новый разработчик запускает npm install и получает точно те же версии, что и остальная команда.

4. npm scripts — автоматизация

npm start
npm test
npm run dev

5. Реестр пакетов

На npmjs.com более 2 миллионов пакетов: express, postgres, jest, axios и т.д.

Практический пример

npm init -y                 # создать package.json
npm install express         # production зависимость
npm install -D jest         # dev зависимость
npm start                   # запустить
npm test                    # тесты

Типы зависимостей

  • dependencies — нужны для работы (express, postgres, bcrypt)
  • devDependencies — только для разработки (jest, eslint, nodemon)

Версионирование (semver)

"express": "^4.18.2"
         ↑     ↑    ↑
     MAJOR  MINOR PATCH

^ = 4.x.x (обновления минора)
~ = 4.18.x (обновления патча)
= = 4.18.2 (точная версия)

node_modules

Папка со всеми пакетами (~500MB). Не коммитится в git, восстанавливается из package.json и package-lock.json.

Команды

npm install              # установить все зависимости
npm install express      # добавить пакет
npm update               # обновить версии
npm audit                # проверить уязвимости
npm uninstall express    # удалить пакет

Итог

NPM решает три задачи:

  1. Управление зависимостями — лёгко добавлять/обновлять пакеты
  2. Версионирование — все используют одни версии
  3. Автоматизация — npm scripts для тестов, деплоя, разработки

Без npm разработка была бы в 10x раз медленнее.

Для чего используется npm? | PrepBro