Descărcările prin proxy ale Bundler funcționează, dar o dependență Git eșuează
Descărcările de gem și dependențele bazate pe Git pot folosi clienți de rețea și transporturi diferite. Identifică URL-ul Git înainte de a schimba ruta de proxy funcțională a Bundler.
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.
- 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 URLgit://într-o declarație scurtă. - 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.
- 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ă.