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-optionalinterruttore.
Questo D&R SO intitolato: npm installinstalla tutte le dipendenze del mio progetto sulla rete, anche se sono già installate o disponibili dalla cache sembrerebbe implicare che c'è uno --skip-installedswitch. Ma i documenti non fanno alcun riferimento a questa opzione.
Se lo stai sviluppando node_moduleda solo, non perdere tempo con npm installs, 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_modulecartella.src/my_appnpm link my_module. Questo è un collegamento node_modules/my_modulein questo particolare progetto nella cartella globale, in modo che requirele chiamate in cerca di my_modulevento 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-packageo qualcosa del genere.