Dacă bundle install descarcă gemuri și apoi se oprește la o dependență Git, investighează sursa acelei dependențe. Descărcările reușite stabilesc doar ruta folosită pentru acele descărcări.

  1. Citește URL-ul Git real din Gemfile sau din lockfile. HTTPS, SSH și git:// necesită conexiuni diferite. Vechile scurtături Bundler pot ascunde un URL git:// într-o declarație scurtă.
  2. Inspectează apelul Git folosit de build. Compară configurația efectivă, mediul și contul cu un apel funcțional din terminal. Un agent de build sau o comandă privilegiată poate vedea intrări diferite.
  3. Urmează transportul selectat. Pentru o sursă HTTPS autorizată, se poate aplica configurația proxy HTTP acceptată a Git-ului nativ. Pentru SSH, folosește ruta SSH acceptată de organizație. O setare de proxy HTTP nu configurează fiecare transport pe care Bundler îl poate porni.

Pentru o sursă Git HTTPS publică ce permite intermediari publici, lista de proxy-uri HTTP oferă puncte finale candidate pentru acea configurație Git.

Acum clasifică eroarea. Un 407 privește accesul la intermediar. Eroarea de permisiune a unui depozit privat după reușita unui tunel privește contul sau cheia sa separată. Ține credențialele proxy în afara Gemfile-ului și a URL-urilor de sursă commitate; acele declarații sunt partajate cu utilizatorii proiectului ale căror setări de rețea pot diferi.

Nu înlocui un proxy funcțional și nu edita un cont calificat de domeniu doar pentru că o soluție ocolitoare nelegată o recomandă. Finalizarea înseamnă obținerea sursei Git specifice prin ruta prevăzută. Repetarea descărcărilor de gemuri deja reușite lasă acea eșuare netestată.

Articole similare