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 ).