Respuestas:
Puedes usar la --prefix
opción:
mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>
Los paquetes se instalarán en ./install/here/node_modules
. El mkdir
es necesario ya que de lo contrario la NGP podría elegir una ya existente node_modules
directorio de más arriba en la jerarquía. (Ver documentación de npm en las carpetas ).
npm install
(sin el nombre del paquete)? Lancé esto directamente, pero luego npm busca package.json
en el {prefix}
. Lo que también pretendo es ser capaz de permitir la packages.json
raíz del proyecto y al mismo tiempo instalar todos los paquetes {project root}/{project webroot}
.
npm install
, pero --prefix
parece una mejor solución, si no estaba causando una recurrencia.
En la documentación se indica: 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, es un nivel superior, ya que el nodo generalmente se instala en {prefix} / bin / node en lugar de {prefix} /node.exe .
Cuando se establece el indicador global , npm instala cosas en este prefijo. Cuando no está configurado, usa la raíz del paquete actual, o el directorio de trabajo actual si no está en un paquete ya.
(Énfasis por ellos)
Entonces, en su directorio raíz, puede instalar con
npm install --prefix <path/to/prefix_folder> -g
e instalará la node_modules
carpeta en la carpeta
<path/to/prefix_folder>/lib/node_modules
require
instalar paquetes globalmente, ¿verdad?
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 una node_modules
carpeta incluso cuando node_modules
ya existe un directorio 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 --prefix
opción:
npm install --prefix ./install/here
A partir de npm 6.0.0, puede usar
npm install --prefix ./install/here ./
instalar el package.json en el directorio actual al directorio "./install/here". Hay una cosa que noté 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 --prefix
opción. Se resuelve según la documentación de npm en las carpetas , solo cuando npm install
se usa sin la --prefix
opción.
Can't install <current directory>: Missing package name
package.json
archivo./install/here