Як pnpm економить місце на диску?
pnpm економить місце на диску завдяки централізованому кешу та жорстким посиланням, замість копіювання одних і тих самих пакетів у кожен проєкт.
Механізм економії
- Єдине сховище пакетів
- pnpm зберігає завантажені залежності в одному глобальному кеші (зазвичай у
~/.pnpm-store). - Якщо інший проєкт вимагає ту саму версію пакета, pnpm не завантажує його повторно.
- Жорсткі посилання замість копій
- У
node_modulespnpm не копіює файли, а створює жорсткі посилання на кеш. - У результаті на диску фактично лежить одна копія кожної залежності, навіть якщо вона використовується в десятках проєктів.
У чому різниця з npm/Yarn
| Менеджер | Де лежать пакети | Результат |
|---|---|---|
| npm / Yarn | копія пакета в кожному проєкті | гігабайти дублікатів |
| pnpm | 1 копія в кеші + посилання | мінімум місця на диску |
Практичний ефект
- один і той самий React, lodash, moment тощо не зберігаються сотні разів;
- економія може становити десятки гігабайт на великій кількості проєктів;
- встановлення стає швидшим, бо немає повторних завантажень і копіювання.
Висновок
pnpm економить місце завдяки глобальному кешу та жорстким посиланням у node_modules, що усуває дублювання залежностей і різко скорочує обсяг, який пакети займають на диску.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.