К содержимому
Claude Code с 0:полный курс
ТерминалАвтор: Михаил Кузьмицкий

Пакетные менеджеры простыми словами: npm, brew, pip

Коротко

Что такое пакетный менеджер и зачем он нужен — и чем npm отличается от brew и pip, простыми словами.

Ты читаешь инструкцию, и на третьей строчке тебе говорят: «установи зависимости через npm install». Или brew install. Или pip install. Команда вроде простая, но что именно она делает — туман. Что-то качается, бежит куча строк, и непонятно, куда всё это девается и зачем.

Хорошая новость: за этими тремя командами стоит одна и та же простая идея. Сейчас разберёмся, что такое пакетный менеджер, зачем он нужен и почему их сразу несколько.

Полки с готовыми деталями, из которых собирают проект

Что такое пакет и зачем его «устанавливать»

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

Нужно отправить письмо из программы? Кто-то уже написал для этого пакет. Нужно нарисовать график, обработать дату, разобрать таблицу? Готовые пакеты есть почти на всё. «Установить пакет» — значит скачать этот набор к себе и подключить к проекту, чтобы пользоваться.

А пакетный менеджер — это магазин с доставкой и складом. Он находит нужный пакет в общем хранилище и скачивает его. Тянет заодно всё, от чего этот пакет зависит, — одни наборы используют другие, это называется зависимости. Складывает скачанное по местам, чтобы проект знал, где что лежит. И умеет обновлять и удалять пакеты, когда нужно.

Без него пришлось бы вручную искать код по сайтам, качать архивы, распаковывать и следить, чтобы версии не передрались. Менеджер делает это одной командой.

npm, brew, pip — в чём разница

Их несколько, потому что они работают в разных мирах. Принцип у всех один — «найди и установи», — а вот что именно они ставят, отличается.

  • npm — менеджер для JavaScript. Ставит пакеты для сайтов и веб-проектов. npm install обычно читает список нужного из файла package.json и тащит всё в папку node_modules прямо внутри проекта.
  • brew (Homebrew) — менеджер для самого компьютера (на Mac, есть и на Linux). Им ставят не кусочки кода для проекта, а целые программы: тот же Node.js, базы данных, утилиты для терминала. Это магазин приложений, только через команду.
  • pip — менеджер для Python. Ставит библиотеки для Python-проектов: анализ данных, автоматизацию, графики и прочее.

Запомнить легко по такому делению: brew ставит инструменты на компьютер, а npm и pip — детали внутрь конкретного проекта (каждый для своего языка). Команды при этом похожи как близнецы:

brew install node
npm install react
pip install requests

Структура всегда одна: менеджер + install + что ставим. Увидишь незнакомую команду в таком виде — теперь ты понимаешь, что происходит: что-то скачивается и подключается.

А откуда вообще берутся эти пакеты? У каждого менеджера есть свой большой склад в интернете — реестр. У npm это npmjs.com, у pip — PyPI, у brew — список «формул». Когда ты пишешь npm install react, менеджер идёт на этот склад, находит там пакет с именем react, скачивает нужную версию и кладёт к тебе. Тебе не надо знать ни адрес, ни ссылку на скачивание — достаточно имени. Поэтому установка и выглядит так коротко: всю беготню по складу менеджер берёт на себя.

Совет

Не смешивай менеджеры в голове. Если инструкция говорит npm install, а у тебя в ответ «команда не найдена» — скорее всего, не установлен сам Node.js (а его как раз ставят через brew). Это очень частая цепочка у новичков: сначала ставим инструмент через brew, потом этим инструментом ставим пакеты для проекта.

А запоминать всё это обязательно?

Нет. Тебе не нужно держать в голове, какой менеджер за что отвечает и какие у него флаги. Если ты работаешь с Claude Code, можно просто описать ситуацию словами: «хочу подключить к проекту библиотеку для работы с датами» или «при запуске пишет, что не хватает какого-то пакета». Claude посмотрит, что это за проект, поймёт, какой менеджер тут нужен, и предложит конкретную команду — а заодно объяснит, что она делает.

Но базовое понимание всё равно бесценно. Когда ты знаешь, что пакет — это готовый чужой код, а менеджер — магазин, который его доставляет, ты перестаёшь бояться этих команд. install больше не магия: ты видишь строки в терминале и понимаешь — идёт доставка, скоро всё встанет на место.

Что стоит запомнить

Если выкинуть подробности, остаётся простая картина:

  • Пакет — это готовый кусок чужого кода, чтобы не писать всё с нуля.
  • Менеджер — магазин, который этот код находит, скачивает и подключает одной командой.
  • brew ставит программы на компьютер, npm и pip — детали внутрь проекта (JavaScript и Python).

Пакетные менеджеры — один из тех навыков, после которых терминал перестаёт казаться чужим. Один раз понял идею — и npm, brew, pip из пугающих заклинаний превращаются в обычные инструменты под рукой.

Читайте также

Попробуй на практике

Бесплатные интерактивные курсы по теме — прямо в браузере, с нуля.