Saltar al contenido

compartir el directorio node_modules entre múltiples proyectos

Este equipo de trabajo ha pasado horas buscando para darle respuesta a tus preguntas, te regalamos la resolución y deseamos resultarte de gran apoyo.

Solución:

Utilice pnpm en lugar de npm.

Del sitio web del proyecto pnpm:

pnpm utiliza enlaces físicos y simbólicos para guardar una versión de un módulo solo una vez en un disco. Al usar npm o Yarn, por ejemplo, si tiene 100 proyectos que usan la misma versión de lodash, tendrá 100 copias de lodash en el disco. Con pnpm, lodash se guardará en un solo lugar en el disco y un enlace físico lo colocará en node_modules donde debe instalarse.

  1. Para instalar usando npm en una ventana de comandos, use:

     npm install -g pnpm
    
  2. Para actualizar sus instalaciones de paquetes existentes (y todos los subdirectorios), use:

     pnpm install --recursive
    

o use el comando de acceso directo para la instalación recursiva:

    pnpm i -r

Usar pnpm en cualquier lugar que normalmente usaría npm. (Este comando vuelve con seguridad a npm funciona cuando no es compatible con pnpm.

Para que npm se instale en un directorio de ubicación personalizada, debe ejecutar:

npm install --prefix path_to_node_modules_location

Editar: no es posible tener la carpeta local sin el paquete.json con ella.

La única ‘ubicación común’ para todos los proyectos es la global. La ubicación global contiene todos los paquetes comunes y la local contiene los específicos para el proyecto.

Sin embargo, no estoy seguro de que sea una buena idea tener un local carpeta node_modules para diferentes proyectos, ya que termina teniendo que asegurarse de que sus dependencias no entren en conflicto debido a la diferencia en las versiones de los paquetes. Significaría tratar de mantener package.json para múltiples proyectos.

Para configurar el paquete web para ver la nueva ubicación, verifique el enlace de github aquí

Los cargadores aquí se resuelven en relación con el recurso al que se aplican. Esto significa que no se resuelven en relación con el archivo de configuración. Si tiene cargadores instalados desde npm y su carpeta node_modules no está en una carpeta principal de todos los archivos fuente, el paquete web no puede encontrar el cargador. Debe agregar la carpeta node_modules como una ruta absoluta a la opción resolveLoader.root. (resolveLoader: raíz: path.join(__dirname, “node_modules”) )

Aquí tienes las reseñas y puntuaciones

Si te gusta el proyecto, tienes la opción de dejar un tutorial acerca de qué te ha parecido este enunciado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *