2012-03-03 10 views
8

Sto cercando di ottenere npm per installare node-gitteh come dipendenza tramite npm install che legge da package.json. Sfortunatamente questo pacchetto npm è rotto nel nodo 0.6.x, ma non c'è problema in quanto c'è un repository biforcato che risolve i problemi (https://github.com/hughsk/node-gitteh.git).gpm di installazione forked con sottomodulo

Ora il problema è che questo repo biforcuta ha un modulo, quindi se provo a scaricare il catrame dal github nel package.json:

, "dependencies" : { 
    "gitteh" : "https://github.com/hughsk/node-gitteh/tarball/master" 
} 

ottengo un errore che equivale a "cartella di modulo non trovato" . Se clono la stessa repo manualmente e fare un aggiornamento del modulo ricorsivo e un npm install dalla cartella node-gitteh, funziona benissimo, ma io non riesco a capire come ottenere NPM per fare questo.

risposta

1

Ho avuto lo stesso problema e finora ho appena fatto affidamento su clonazione mio modulo in node_modules e facendo un aggiornamento modulo manualmente. Sarebbe bello avere NPM gestire questo automaticamente.

In package.json c'è un campo di script (vedi npm docs) Così potrebbe fare

"scripts":{"preinstall": "git submodule update -i -r"} 

Vedi https://github.com/isaacs/octave-test per un esempio di questo.

+1

npm non copia '.gitmodules', quindi funzionerà solo localmente :( –

+0

Nel mio caso, npm mi dà un .gitmodules, ma non è ancora sufficiente senza i file .git per dirmi quale versione Installa. :( – Steve

+0

Mine conserva il file '.gitmodules', ma questo è tutto. Nessuno degli altri metadati git viene giù e le directory dei sottomoduli non vengono visualizzate. – Chev

-2

Secondo the docs, è necessario fornire l'URL git in un formato speciale. Inoltre, deve puntare a git repo (lo stesso indirizzo che useresti per git clone), non il tarball fornito da github.

Nel tuo caso (git su HTTPS), sarebbe:

, "dependencies" : { 
    "gitteh" : "git+https://github.com/hughsk/node-gitteh" 
} 

Usando questo, NPM imposterà al ramo master.

Problemi correlati