Bundler-proxydownloads werken, maar een Git-afhankelijkheid mislukt
Gem-downloads en Git-gebaseerde afhankelijkheden kunnen verschillende netwerkclients en transporten gebruiken. Identificeer de Git-URL voordat u de werkende proxyroute van Bundler wijzigt.
Als bundle install gems downloadt en dan stopt bij een Git-afhankelijkheid, onderzoek dan de bron van die afhankelijkheid. De geslaagde downloads bewijzen alleen de route die voor die downloads is gebruikt.
- Lees de werkelijke Git-URL in de Gemfile of lockfile. HTTPS, SSH en
git://vereisen verschillende verbindingen. Historische Bundler-verkortingen kunnen eengit://-URL in een korte declaratie verbergen. - Inspecteer de Git-aanroep die de build gebruikt. Vergelijk de effectieve configuratie, omgeving en account met een werkende terminalaanroep. Een buildagent of bevoorrecht commando kan andere invoer zien.
- Volg het gekozen transport. Voor een geautoriseerde HTTPS-bron kan de ondersteunde HTTP-proxyconfiguratie van native Git gelden. Gebruik voor SSH de door de organisatie ondersteunde SSH-route. Een HTTP-proxyinstelling configureert niet elk transport dat Bundler kan starten.
Voor een openbare HTTPS Git-bron die openbare tussenpersonen toestaat, biedt de HTTP-proxylijst kandidaat-eindpunten voor die Git-configuratie.
Classificeer nu de fout. Een 407 betreft toegang tot de tussenpersoon. De machtigingsfout van een privérepository na een geslaagde tunnel betreft het aparte account of de sleutel ervan. Houd proxyreferenties buiten de Gemfile en gecommitte bron-URL's; die declaraties worden gedeeld met projectgebruikers wier netwerkinstellingen kunnen verschillen.
Vervang geen werkende proxy en bewerk geen domeingekwalificeerd account alleen omdat een niet-gerelateerde omweg het aanraadt. Voltooien betekent de specifieke Git-bron via de bedoelde route ophalen. Het herhalen van de al geslaagde gem-downloads laat die fout ongetest.