Мотивация
Saving disk space
При использовании npm, если у вас есть 100 проектов, использующих зависимость, у вас будет 100 копий этой зависимости, сохраненных на диске. С pnpm зависимость будет храниться в хранилище с адресацией по содержимому (CAS), поэтому:
- Если вы зависите от различных версий зависимости, в хранилище добавляются только файлы, которые отличаются друг от друга. Например, если у зависимости 100 файлов, и новая версия зависимости имеет изменение только в одном из этих файлов,
pnpm update
добавит только 1 новый файл в хранилище, вместо копирования всей новой версии зависимости. - Все файлы сохраняются в одном месте на диске. Когда пакеты устанавливаются, их файлы линкуются из этого единого хранилища и не потребляют дополнительного дискового пространства. Это позволяет делиться зависимостями одной и той же версии между проектами.
В результате вы экономите много места на вашем диске пропорционально количеству проектов и зависимостей, и вы получаете намного более быструю установку!