2013-02-18 18 views
5

Ho un'applicazione nodo su github in un repository privato. Questa applicazione nodo ha anche moduli personalizzati che ho creato e si trovano in un repository privato separato.Repository npm privati ​​multipli github su un server

Questo è l'esempio applicativo nodo url:

[email protected]:thomas/node-application.git 

Questi sono entrambi i moduli nodi che utilizza un'applicazione nodo.

[email protected]:thomas/node-module1.git 
[email protected]:thomas/node-module2.git 

È possibile utilizzare quanto segue per installare un modulo privato npm su github.

npm install git+ssh://[email protected]:thomas/node_module1.git 

Affinché questo funzioni, la macchina deve avere l'impostazione delle chiavi ssh.

La mia macchina locale ha le mie chiavi utente github impostate e accesso a tutti i miei repository.

Sul mio server, tuttavia sto usando le chiavi di distribuzione. L'unico modo in cui so come utilizzare più chiavi di distribuzione è il seguente.

Host na.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-application 
ForwardAgent yes 

Host nm1.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-module1 
ForwardAgent yes 

Host nm2.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-module2 
ForwardAgent yes 

Quindi avrei bisogno di installare i moduli sul server con

npm install git+ssh://[email protected]:thomas/node_module1.git 
          ^^^ 

Il che significa che le dipendenze di produzione e sviluppo sarebbero diverse

"node-module": "git+ssh://[email protected]:thomas/node-module1.git" 

vs

"node-module": "git+ssh://[email protected]:thomas/node-module1.git" 
           ^^^ 

Questo potrebbe funzionare se avrei potuto fare qualcosa di simile ...

Host github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-application 
IdentityFile ~/.ssh/gh_node-module1 
IdentityFile ~/.ssh/gh_node-module2 
ForwardAgent yes 
+0

sono andato il percorso di [Utenti macchina] (https://help.github.com/articles/managing-deploy-keys). Che odio davvero XD – ThomasReggi

+0

Hai provato ad aggiungere le chiavi di distribuzione al tuo account github? Tutte le chiavi aggiunte al tuo account ti permetteranno di accedere ai tuoi pacchetti privati. Questa soluzione è efficace solo se non si hanno troppe chiavi e non cambiano troppo frequentemente. – vmx

risposta

Problemi correlati