2013-08-13 14 views
6

Ho cercato questo argomento per molto tempo, attualmente tutte le soluzioni e gli esempi funzionano in git, ma nessuna soluzione diretta per Mercurial.URL del pacchetto NPM come dipendenza in mercurial (bitbucket)

Esempio di lavoro tratto da collegamenti simili.

"private": true 
to your package.json 

Then to reference private npm module in package.json 

{ 
    "name": "myapp", 
    "dependencies": { 
     "private-repo": "git+ssh://[email protected]:myaccount/myprivate.git#v1.0.0", 
    } 
} 

Come ho letto da pagina ufficiale NPM tutto questo funziona solo con git https://npmjs.org/doc/json.html#Git-URLs-as-Dependencies

Quindi, come fare la stessa cosa in Mercurial o attualmente E 'sembra essere possibile solo con Git?

+0

Non c'è una domanda reale nella tua domanda. –

+0

sì, il mio errore ha aggiunto l'ultima riga –

risposta

1

NPM supporta git ma non supporta Mercurial. Potresti usare qualcosa come il forno per ospitare il tuo repository, che consente l'accesso come Mercurial o git, ma in caso contrario dovrai clonare in locale e puntare su NPM.

9

Se si è utilizzando Bitbucket per ospitare il repository Mercurial del progetto, fornisce collegamenti per scaricare istantanee del progetto come file tar.gz. Questi URL are actually usable nelle dipendenze package.json.

Per esempio, il mio progetto pagedown di download page ha un link a questo URL per un'istantanea gzip delle ultime modifiche default filiali:

https://bitbucket.org/ncraike/pagedown/get/default.tar.gz 

così in un altro progetto di package.json, posso specificare:

"dependencies": { 
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz" 
} 

npm gestisce questa multa quando eseguo un npm install dal pacchetto dipendente, installandolo correttamente nella sottodirectory node_modules.

Questa non è una soluzione generale per i repository Mercurial (e sono d'accordo sarebbe bello se npm accettasse anche gli URL Mercurial) ma questo potrebbe essere una soluzione ragionevole se stai usando Bitbucket o un sito simile per l'hosting .

+1

Sembra che sia possibile utilizzarlo per recuperare una versione specifica utilizzando la seguente sintassi insieme ai tag di versione: https://bitbucket.org/USERNAME/MODULENAME/get/TAG.tar. gz Puoi trovare questi URL nella pagina dei download sotto la scheda dei tag. – jdp

+0

Ah. In realtà, sì, probabilmente si preferirebbero versioni specifiche, quindi le vostre dipendenze sono stabili e testate e non cambiano in modo imprevisto (ad esempio ogni volta che qualcuno si impegna al default). –

+5

Per i repository privati, come potrei fornire le credenziali senza inserirle nel pacchetto.json? – kierans

Problemi correlati