Risposte:
Puoi usare l' --prefix
opzione:
mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>
I pacchetti verranno quindi installati in ./install/here/node_modules
. Il mkdir
è necessario dal momento che NPM potrebbe altrimenti scegliere uno già esistente node_modules
directory più in alto nella gerarchia. (Vedi la documentazione di npm sulle cartelle .)
npm install
(senza il nome del pacchetto)? L'ho preso direttamente, ma poi npm cerca package.json
nel {prefix}
. Quello che mi prefiggo è anche quello di essere in grado di far entrare il packages.json
root del progetto e allo stesso tempo installare tutti i pacchetti {project root}/{project webroot}
.
npm install
, ma --prefix
sembra una soluzione migliore, se non causasse una ricorsione.
Nella documentazione è dichiarato: Utilizzare l'opzione di prefisso insieme con l'opzione globale :
Il prefisso config imposta per impostazione predefinita la posizione in cui è installato il nodo. Sulla maggior parte dei sistemi, questo è / usr / local . Su Windows, questa è la posizione esatta del file binario node.exe. Sui sistemi Unix, è di un livello superiore, poiché il nodo è in genere installato su {prefisso} / bin / node anziché su {prefisso} /node.exe .
Quando viene impostato il flag globale , npm installa le cose in questo prefisso. Quando non è impostato, utilizza la radice del pacchetto corrente o la directory di lavoro corrente se non si trova già in un pacchetto.
(Enfasi da loro)
Quindi nella tua directory principale puoi installare
npm install --prefix <path/to/prefix_folder> -g
e installerà la node_modules
cartella nella cartella
<path/to/prefix_folder>/lib/node_modules
require
installare pacchetti a livello globale, vero?
A partire dalla versione npm 3.8.6, è possibile utilizzare
npm install --prefix ./install/here <package>
per installare nella directory specificata. NPM crea automaticamente una node_modules
cartella anche quando node_modules
esiste già una directory nella gerarchia superiore. Puoi anche avere un package.json
nella directory corrente e quindi installarlo nella directory specificata usando l' --prefix
opzione:
npm install --prefix ./install/here
A partire da npm 6.0.0, è possibile utilizzare
npm install --prefix ./install/here ./
per installare package.json nella directory corrente nella directory "./install/here". C'è una cosa che ho notato su Mac che crea un collegamento simbolico alla cartella principale all'interno della directory node_modules. Ma funziona ancora.
NOTA: NPM rispetta il percorso specificato tramite l' --prefix
opzione. Si risolve secondo la documentazione npm sulle cartelle , solo quando npm install
viene utilizzato senza l' --prefix
opzione.
Can't install <current directory>: Missing package name
package.json
file in./install/here