Yarn: Solicitud de funciones: carpeta node_modules centralizada

Creado en 29 nov. 2016  ·  4Comentarios  ·  Fuente: yarnpkg/yarn

¿Hay alguna forma de instalar todas las dependencias npm globalmente (centralmente) para que no almacene node_modules en la carpeta del proyecto?

Esto está causando problemas, ya que el marco para el que trabaja la empresa es bastante pesado y tengo más de 40 proyectos, cada uno con su propia carpeta node_modules, con millones de archivos de 1kb.

Esto ocupa una sorprendente cantidad de espacio precioso en mi SSD y sería realmente bueno si pudiera instalar estos paquetes una vez, con el package.json de cualquier proyecto enlazado a mi repositorio local

cat-feature help wanted needs-discussion

Comentario más útil

https://github.com/rstacruz/pnpm hace exactamente esto. Utiliza la función de nodo --preserve-symlinks .

Todos 4 comentarios

@alshdavid cosas que require son dependencias y deben instalarse localmente. Los módulos globales son para herramientas de línea de comandos no específicas del proyecto.

En mi opinión, esta no es realmente una pregunta de hilo a menos que el hilo proporcione una forma de vincular módulos globales al directorio local, lo que me han hecho entender que no funcionaría con el ecosistema npm.

Creo que esto sería útil. El problema es que es difícil cambiar la forma en que se hacen las cosas sin cambiar Node.js, ya que Node.js espera que las cosas se hagan de una manera particular y que los módulos se organicen de una manera particular. 😞 También me encantaría cambiar el nombre del directorio de node_modules a otra cosa, ya que no todos usan Node.js.

Hay algunos problemas de GitHub relacionados con los enlaces simbólicos y los enlaces físicos como una posible solución para el rendimiento y el espacio en disco: el número 499 cubre los enlaces físicos. Sin embargo, los archivos seguirían ocupando algo de espacio en el sistema de archivos. Siento que un sistema de archivos Copy-on-Write como BTRFS o ZFS también ayudaría con esto, ya que los archivos en realidad no se copiarán y, en su lugar, solo señalarán los archivos originales en el directorio de caché.

https://github.com/rstacruz/pnpm hace exactamente esto. Utiliza la función de nodo --preserve-symlinks .

El más cercano a esto parece el # 499, así que estoy cerrando este a favor de eso.

¿Fue útil esta página
0 / 5 - 0 calificaciones