Какие знаешь стек менеджеры

Ответ

  • npm – стандартный менеджер для Node.js, есть lock-файл (package-lock.json), поддерживает приватные пакеты.
  • Yarn (v1) – быстрее npm за счёт кеширования, deterministic-установка (yarn.lock). Yarn 2+ (Berry) – плагины, PnP (избегает node_modules).
  • pnpm – экономит место (hardlinks), строгая изоляция зависимостей, быстрее npm/yarn.

Пример установки пакета:

npm install lodash
yarn add lodash
pnpm add lodash

Лучшие практики:

  • Фиксируйте версии (package-lock.json, yarn.lock, pnpm-lock.yaml).
  • Для монореп – pnpm или Yarn Workspaces.
  • Yarn 2+ – для advanced-сценариев (плагины, PnP).

Ответ 18+ 🔞

Слушай, а вот эти менеджеры зависимостей — ну просто пиздец, сколько их развелось, как тараканов! Раньше-то был один npm, и все были счастливы, как дурачки. Ну, типа, стандартная штука для Node.js, идёт в комплекте, не парись. У него свой lock-файл (package-lock.json), чтобы версии не разъебывались, и приватные пакеты он жуёт без проблем. Всё чинно, благородно.

А потом вылез Yarn (первой версии), и все такие: "Охуеть, как быстро!" Ну да, он умный, кеширует всё, установка детерминированная благодаря своему yarn.lock. Но это ещё цветочки! Потом они выпустили Yarn 2+ (или Berry), и тут начался ёперный театр: плагины, PnP (это который node_modules в помойку отправляет, чтобы места не занимал) — в общем, для извращенцев и мазохистов, которые любят покопаться в настройках.

И тут, на тебе, как хуй из-под горы, выскакивает pnpm. А этот, блядь, вообще экономист: места на диске экономит через хардлинки, зависимости изолирует строже, чем тюремный режим, и в целом шустрее своих предков. Просто красавчик, ёпта!

Вот, смотри, как они все одну и ту же хуйню устанавливают, только команды разные:

npm install lodash
yarn add lodash
pnpm add lodash

А теперь, блядь, слушай сюда, как не обосраться с этим добром:

  • Фиксируй версии, ёб твою мать! Не надейся на "примерно такую". Твой package-lock.json, yarn.lock или pnpm-lock.yaml — это святое. Это твой щит от дня, когда всё сломается потому что "а у меня на машине работало".
  • Если у тебя монорепозиторий (куча пакетов в одном месте) — бери либо pnpm, либо Yarn Workspaces. Иначе с ума сойдёшь.
  • Yarn 2+ (Berry) — это как хирургический скальпель. Бери его, только если ты реально понимаешь, зачем тебе эти плагины и PnP. Иначе просто порежешься в хлам.

Короче, выбирай по потребностям, а не потому что в треде на реддите модно. И да хранят тебя lock-файлы от ебучего хаоса!