Recentemente ho installato un nuovo nodejs 5.x con npm 3.x - la modifica più importante è la struttura piatta in node_modules: è una grande cosa sull'ambiente Windows.npm 3.x e percorsi locali nel package.json del modulo
Purtroppo ho notato che il nuovo npm inserisce i percorsi locali in package.json per tutti i moduli installati. Come posso evitare questo (o inserire un percorso relativo)? Voglio impegnare i miei node_modules nel repository hg, quindi tutti nel team di sviluppo avranno gli stessi moduli. Ecco un esempio package.json spogliato da abbrev pacchetto:
{
"_args": [
[
"[email protected]://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
"C:\\Users\\ABC\\Documents\\ABC"
]
],
"_where": "C:\\Users\\ABC\\Documents\\ABC"
}
"C: \ Users \ ABC \ Documenti \ ABC" è percorso locale
migliori saluti,
Suona come è "npm shrinkwrap". https://docs.npmjs.com/cli/shrinkwrap – eush77
Purtroppo i pacchetti shrinkwrap hanno anche percorsi locali scritti dal gestore di npm. – Sassa
Voglio dire che puoi eseguire 'npm shrinkwrap' e salvare il file risultante' npm-shrinkwrap.json' nel tuo progetto - non ci sono percorsi relativi in questo file, solo nomi e versioni di pacchetti. Tutti gli altri che controllano questo progetto si installano da questo file e ottengono esattamente le stesse versioni. Problema risolto. Non è necessario impegnare l'intero 'node_modules' e gestire megabyte di registri diff. – eush77