Descărcările din registrul Cargo funcționează, dar dependențele Git eșuează
Separă ruta HTTP a registrului Cargo de preluarea surselor Git și alege intenționat implementarea Git când comportamentul proxyului diferă.
Citește URL-ul sursei care a eșuat înainte să schimbi proxy-ul Cargo. Metadatele registrului, o arhivă crate și o dependență Git pot folosi rute diferite de preluare și autentificare. Un URL Git SSH are nevoie și de o configurare de transport diferită față de HTTPS.
Pentru cererile HTTP relevante ale Cargo, ruta poate fi setată astfel:
[http]
proxy = "http://203.0.113.10:8080"Înlocuiește endpointul din documentație cu proxy-ul tău HTTP. Pentru o rută publică de registry care are voie să folosească proxyuri publice, candidații se află în lista de proxyuri HTTP. Acest lucru nu dovedește că un executabil Git extern a primit aceeași configurație.
Dacă sursa care eșuează este Git, Cargo poate selecta Git CLI în locul implementării integrate:
[net]
git-fetch-with-cli = trueCARGO_NET_GIT_FETCH_WITH_CLI=true îl selectează pentru o singură comandă. Git-ul extern are acum nevoie de propria configurație de proxy și de credențiale. Compară același URL Git în același mediu de lansare; un repository fără legătură care funcționează într-un alt terminal nu este testul.
O revizie lipsă, refuzul permisiunii pentru repository sau o eroare SSH host-key rămân aceeași problemă după schimbarea implementării. Opțiunea alege un client acceptat, nu repară dependențele în general.
Păstrează diagnosticul la nivel de proiect sau comandă: setările Git globale și setările Cargo ale utilizatorului pot afecta alte workspace-uri. Un URL de registry selectează date de pachet, nu un intermediar. După ce ruta Git funcționează, rulează din nou întreaga operație Cargo dorită, deoarece arhivele, redirecționările și descărcările din timpul construirii pot introduce alte rute.