Saltar al contenido principal
Version: Next

Motivación

Ahorrando espacio de disco duro y aumento de la velocidad de instalación

Cuando usamos npm o Yarn, si you tienes 100 proyectos usando una dependencia, vas a instalar 100 copias de esa dependencia guardadas en tu disco. Con pnpm, esa dependencia sera almacenada en un almacenamiento compartido, así:

  1. Si dependes de diferentes versiones de una dependencia, solo los archivos que difieren serán agregados al almacenamiento. Por ejemplo, si tiene 100 archivos, y una nueva version ha cambiado un solo de esos archivos, pnpm update solo actualizará 1 nuevo archivo en el almacenamiento, en vez de clonar toda la dependencia solo para un cambio en particular.
  2. Todos los archivos son guardados en un solo lugar del disco duro. Cuando los paquetes que son instalados, sus archivos son hard-linked a un solo lugar, sin consumir espacio adicional en su disco duro. Esto te permitirá compartir tus dependencias de la misma version en diferentes proyectos.

Como resultado, usted ahorra un montón de espacio en su disco duro proporcional al numero de proyectos y dependencias, y tu disfrutaras de instalaciones mas rápidas!

Creando un directorio non-flat node_modules

Cuando se instalan dependencias con npm, todos los paquetes son promovidos al directorio de modulos. Como resultado, el código fuente tiene acceso a las dependencias que no son agregadas como dependencias en el proyecto.

pnpm usa enlaces simbólicos solo para agregar dependencias directas en los proyectos en la raiz del directorio de módulos. Si desea obtener mas detalles sobre la estructura única de node_modules que pnpm crea y porque funciona bien en el ecosistema de Node.js, lea: