Ответ
PNPM (Performant NPM) — это альтернативный менеджер пакетов для Node.js с ключевыми преимуществами:
Экономия дискового пространства:
Хранит зависимости в едином хранилище (hard links), избегая дублирования одинаковых пакетов в разных проектах. Например, если 10 проектов используютlodash@4.17.21
, на диске будет только одна копия.Скорость установки:
За счет кэширования и симлинков установка пакетов быстрее, чем в npm/yarn. Особенно заметно в монорепозиториях.Строгая изоляция зависимостей:
По умолчанию запрещает доступ к неперечисленным вpackage.json
пакетам (в отличие от npm/yarn, где возможен доступ к транзитивным зависимостям).
Пример сравнения структур:
# node_modules в npm/yarn (дублирование)
project1/node_modules/lodash
project2/node_modules/lodash
# pnpm (hard link в общее хранилище)
.pnpm-store/lodash@4.17.21
project1/node_modules/lodash -> .pnpm-store/lodash@4.17.21