2015-08-05 28 views
6

Ho un problema con un progetto in cui stiamo usando nodo e brunch. Il problema è specifico per il brunch, ma potrebbe verificarsi per qualsiasi modulo sarebbe la mia ipotesi.installazione npm non riesce perché nel registro manca il pacchetto

Il modo più semplice per riprodurre attualmente questo, è quello di fare quanto segue in una nuova cartella:

npm init 
npm install --save-dev brunch 

Il problema qui è che il brunch dipende Loggy, che a sua volta dipende da ANSI-colore, che non ha più una voce nella npmregistry:

https://registry.npmjs.org/ansi-color

Penso che questo potrebbe essere il progetto github: https://github.com/loopj/commonjs-ansi-color

In ogni caso, non riesco a procedere e tutte le nostre build falliscono perché non sono in grado di recuperare la dipendenza data.

Potrei forse usare in qualche modo la shrinkwrap di npm, ma ciò dipende dai moduli già esistenti in node_modules, che attualmente mi mancano.

Quindi, come posso forzare il npm a utilizzare ansi-color da una posizione diversa o ignorare la dipendenza?

risposta

2

Non sono sicuro di npm 2, ma è possibile risolvere questo problema con beta npm 3. npm 3 ha una directory node_modules piatta. Così i moduli secondari possono sedere nel livello più alto. Leggi lo Changelog.

I moduli mancanti possono essere installati direttamente dal repository Github come una dipendenza di livello superiore nel progetto. Se npm trova il modulo con la stessa versione nella directory node_modules, non lo cercherà più nel registro.

Installare NPM 3:

npm install -g [email protected] 

quindi installare depencies:

//install missing module from other location 
npm install https://github.com/loopj/commonjs-ansi-color.git --save-dev 
npm install --save-dev brunch