node from devdependencies node.js npm

node.js - from - ¿Cómo instalar npm en un directorio específico?



npm install windows (3)

¿Es posible especificar un directorio de destino cuando se ejecuta npm install <package> ?


A partir de npm versión 3.8.6, puede usar

npm install --prefix ./install/here <package>

para instalar en el directorio especificado. NPM crea automáticamente la carpeta node_modules incluso cuando ya existe un directorio node_modules en la jerarquía superior. También puede tener un package.json en el directorio actual y luego instalarlo en el directorio especificado usando la opción --prefix :

npm install --prefix ./install/here

A partir de npm 6.0.0, puede usar

npm install --prefix ./install/here ./

para instalar el paquete.json en el directorio actual en el directorio "./install/here". Hay una cosa que he notado en Mac que crea un enlace simbólico a la carpeta principal dentro del directorio node_modules. Pero, todavía funciona.

NOTA: NPM respeta la ruta que ha especificado a través de la opción --prefix . Se resuelve según la documentación de npm en las carpetas , solo cuando se usa npm install sin la opción --prefix .


En la documentation se afirma: Use la opción de prefijo junto con la opción global :

La configuración del prefijo por defecto es la ubicación donde está instalado el nodo. En la mayoría de los sistemas, esto es / usr / local . En Windows, esta es la ubicación exacta del binario node.exe. En los sistemas Unix, está un nivel arriba, ya que el nodo normalmente se instala en {prefijo} / bin / node en lugar de {prefix} /node.exe .

Cuando se establece el indicador global , npm instala las cosas en este prefijo. Cuando no está configurado, usa la raíz del paquete actual o el directorio de trabajo actual, si aún no está en un paquete.

(Énfasis por ellos)

Entonces en su directorio raíz puede instalar con

npm install --prefix <path/to/prefix_folder> -g

e instalará la carpeta node_modules en la carpeta

<path/to/prefix_folder>/lib/node_modules


Puedes usar la opción --prefix :

mkdir -p ./install/here/node_modules npm install --prefix ./install/here <package>

El paquete (s) se instalará en ./install/here/node_modules . El mkdir es necesario ya que npm podría elegir un directorio node_modules ya existente más arriba en la jerarquía. (Consulte la documentación de npm en las carpetas ).