Що таке pnpm?
pnpm - це альтернативний менеджер пакетів для Node.js, який вирішує головну проблему npm і Yarn - надлишкове дублювання залежностей у node_modules. Його ключова особливість - жорсткі посилання та єдиний кеш, завдяки чому той самий пакет не зберігається тисячі разів для різних проєктів.
У чому ідея pnpm
- у всіх пакетів є центральне кеш-сховище на диску
- у
node_modulesрозміщуються не копії, а жорсткі посилання на цей кеш - завдяки цьому економиться дисковий простір і прискорюється встановлення
Переваги pnpm
| Перевага | Що дає |
|---|---|
| Економія місця | десятки гігабайтів не витрачаються на дублікати залежностей |
| Швидке встановлення | кеш + жорсткі посилання прискорюють install |
| Строга структура node_modules | виключає помилки, які npm/Yarn іноді маскують |
| Підтримка monorepo (pnpm workspaces) | зручна для великих проєктів |
Чому він вважається надійнішим
pnpm створює реалістичну структуру залежностей, у якій кожен пакет бачить лише ті модулі, які реально вказані в його package.json. Це запобігає прихованим залежностям - проблемі, можливій у npm і Yarn.
Підсумок
pnpm - швидкий, економний і строгий менеджер пакетів, який використовує єдиний кеш і жорсткі посилання для ефективної роботи із залежностями. Він вирішує слабкі місця npm і Yarn, особливо помітні у великих проєктах і монорепозиторіях.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.