Sono una specie di novizio per quanto riguarda lo npm
, quindi per favore aiutatemi.installazione di npm dal registro privato con fallback a un repository git URL
Diciamo che ho alcuni moduli su cui sto lavorando utilizzando un repository git per ognuno di essi e ho anche installato sinopia
per avere un registro privato. Il problema è che siamo 2 squadre. Una squadra in una città e l'altra è alla fine del mondo. Nel mio team ho installato il registro privato per essere disponibile nella rete locale. Il problema qui è che quando spingiamo su git, l'altro team non ha un proprio registro privato, e anche se lo facessero avrebbero bisogno di pubblicare ogni versione di ogni modulo nel loro registro privato. Un altro problema è che non possiamo (e non vogliamo) rendere pubblico il server sinopia
tramite IP.
Ora la domanda è: come possiamo configurare il package.json
/npm
per gestire le dipendenze sia dal Registro di sistema privato (se il registro risponde) e il repository git anche (se il registro privato non risponde - aka doesn esiste -).
So che potremmo impostare ciascuna dipendenza in modo che faccia riferimento a un tag git/ramo/commit ma vogliamo anche utilizzare il registro se possibile.
UPDATE
Quindi, in pratica avrei bisogno di un package.json che avrebbe sapere che se questa parte non riesce:
"dependencies": {
"app.core": "0.1.1"
}
perché il Registro privata non è installato o non è disponibile, potrebbe ancora caricare la dipendenza da qualcosa di simile:
"dependencies": {
"app.core": "git+ssh://[email protected]:group/app-core.git#v0.1.1"
},
Si noti inoltre che preferirei qualcosa che può essere spinto nel repository git in modo che nessuno dei team debba modificare localmente il file package.json.
Spero che qualcuno possa aiutare.
Più registro non è ancora stato eseguito. Vedere [questo] (https://github.com/npm/npm/issues/1401) per aiuto. – user568109
@ user568109 Grazie, ma questo non è quello che mi serviva. Avevo bisogno di avere un registro privato e se questo non esiste le dipendenze verrebbero installate da un repository "git + ssh: //[email protected]/xxx/yyy.git#000" – helly0d
@ user568109 Ho aggiornato il domanda per rendere più chiaro ciò che cerco di ottenere. – helly0d