Sto tentando di modificare un pacchetto npm con dipendenze multiple. Come tale npm install -g .
richiede molto tempo per l'esecuzione. Ho altre opzioni oltre a rimuovere le dipendenze da packages.json?
Sto tentando di modificare un pacchetto npm con dipendenze multiple. Come tale npm install -g .
richiede molto tempo per l'esecuzione. Ho altre opzioni oltre a rimuovere le dipendenze da packages.json?
Risposte:
L' opzione --no-optional è ora implementata secondo questa documentazione https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
Esaminando i documenti non sembra avere un'opzione oltre l' --no-optional
interruttore.
Questo D&R SO intitolato: npm install
installa tutte le dipendenze del mio progetto sulla rete, anche se sono già installate o disponibili dalla cache sembrerebbe implicare che c'è uno --skip-installed
switch. Ma i documenti non fanno alcun riferimento a questa opzione.
Se lo stai sviluppando node_module
da solo, non perdere tempo con npm install
s, invece usa npm link
.
In breve, si crea un collegamento simbolico alla cartella del modulo in una cartella globale di proprietà di npm, quindi nella cartella dell'app si chiede a npm di utilizzare quella cartella collegata simbolica.
In questo modo le modifiche apportate nella cartella del modulo si riflettono immediatamente nella tua app.
Ecco i passaggi principali (copiati dal tutorial collegato di seguito, assicurati di leggere il tutorial per i gotcha importanti):
src/my_module
npm link
". Ciò crea un collegamento simbolico da una cartella globale alla src/my_module
cartella.src/my_app
npm link my_module
. Questo è un collegamento node_modules/my_module
in questo particolare progetto nella cartella globale, in modo che require
le chiamate in cerca di my_module
vento fino caricarla dalla cartella di sviluppo,
src/my_module
.Vedi questo tutorial: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
E i documenti ufficiali per npm link
: https://docs.npmjs.com/cli/link
Questa funzione è stata richiesta nel 2010, ma sfortunatamente è stata ignorata e chiusa: https://github.com/npm/npm/issues/340
Ho provato un sacco di opzioni e alla fine ho trovato una soluzione piuttosto semplice: rinominare package.json in qualcos'altro prima di doint npm install, quindi ripristinarlo al termine dell'installazione:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
--ignore-package
o qualcosa del genere.