2013-04-09 8 views
26

Siamo connessi tramite un proxy e qui, git è bloccato (non sul sito Web ma su git //:) abbiamo provato con egit, "git su windows", con e senza proxy ma non è successo un solo clone locale.git è bloccato, come installare i moduli npm

Ora il problema è installare i moduli npm, ho provato scaricando i moduli (zip) dal sito git (sul web) e ho provato l'installazione locale, che ha funzionato ma il problema qui è enorme numero di dipendenze, non è facile da estrarre i moduli uno per uno per riempire le dipendenze (e le dipendenze interne).

Così come risolvere questo problema, mi sembra che ci possono essere tre modi per trovare una soluzione:

  • Permettere tunneling git attraverso firewall (non ho amici a n/w squadra).
  • Suggerisco un modo per estrarre i moduli con le dipendenze su http: // (e non git: //) quando si esegue l'installazione di npm.
  • Download da moduli git sito Web + dipendenze complete, in scatto singolo.
+0

Hai provato a connetterti a GitHub tramite https? git //: è bloccato anche per noi, ma siamo in grado di connettersi tramite https. Anche i documenti per [installazione npm] (https://npmjs.org/doc/install.html) forniscono questa opzione. – mickfold

+0

@penfold SSH è una buona alternativa –

+0

Il proxy richiede l'autenticazione? – laktak

risposta

60

copiato da questa risposta https://stackoverflow.com/a/10729634/1095114


Se questo è un problema con il firewall blocca la git: porta del protocollo (9418), allora si dovrebbe fare un cambiamento più persistente modo da non fare ricordarsi di emettere comandi suggeriti da altri post per ogni repo git. Questo funziona anche per i sottomoduli che potrebbero utilizzare anche il protocollo git://.

È sufficiente eseguire il seguente comando:

git config --global url."https://".insteadOf git://

Questo aggiunge semplicemente le seguenti due righe a ~/.gitconfig:

[url "https://"] insteadOf = git://

Ora, come per magia, tutto git comandi eseguirà una sostituzione di git:// a https://

+1

Ho provato questo sulla console di alimentazione ma non ha funzionato – sij

+1

Grazie, risolto il mio problema, non potevo ottenere git: // tramite proxy –

+0

Ho anche avuto problemi in cui il mio file gitconfig non veniva selezionato in su perché è stata montata la mia home directory. L'esecuzione di 'git config --list --show-origin' in git v2.8 e successive mi ha aiutato a trovare tutti i file di configurazione e assicurarmi che avessero le stesse variabili impostate. – WiteCastle

1

Npm e git non utilizzano le impostazioni del proxy di Windows.

È possibile configurare con:

set HTTP_PROXY=http://user:[email protected]:port 

anche vedere https://superuser.com/questions/347476/how-to-install-npm-behind-authentication-proxy-on-windows


Se non è possibile ottenere il proxy di lavoro è possibile eseguire npm install su una macchina che ha una connessione Internet diretta (ad esempio un server nel dmz, nel provider di hosting, nel cloud, ecc.) e quindi copiare la cartella node_modules sul computer locale.

+0

provato anche questo, e anche provato con cntlm ma fallito :( – sij

0

L'impostazione proxy git ha funzionato per me per la clonazione dei repository da github. Ma, quando si installa/aggiorna un modulo npm che usa un url git, sto ancora ricevendo l'errore di timeout. La soluzione alternativa per me era impostare manualmente il proxy nel file .git/config per il repository.

[http] 
    proxy = http://proxy.company.com:8888 

Ma aspettate, c'è di più: questo ha funzionato per qualche git url ma non per altro. La seconda e ultima soluzione è stato quello di assicurarsi che il proxy git si trova in entrambi i file di configurazione degli utenti, dal momento che il mio PC ha avuto una casa utente di rete condivisa su guido:

I:\.gitconfig 
C:\Users\<userid>\.gitconfig 

crediti verso this comment.

Problemi correlati