Rake čaula nevar noņemt Ruby starpniekserveri
Mainiet Ruby ENV turpmākajiem uzdevumiem vai nododiet bērnam atsevišķu vides hash, tā vietā lai noņemtu starpniekserveri izolētā sh izsaukumā.
sh 'unset http_proxy' maina šim izsaukumam palaisto čaulu. Kad tā beidzas, Rake Ruby procesam joprojām ir sākotnējā vide, un vēlāks sh izsaukums to atkal pārmanto.
Lai mainītu Ruby procesu turpmākajam darbam:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
Tas ietekmē vēlākos bērnus un Ruby kodu, kas lasa šīs atslēgas. Tas nepārkonfigurē termināli, kas sākotnēji palaida Rake.
Vienai bērna komandai nododiet tās vidi tieši:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Ruby procesu palaišanas saskarne nil vērtības uzskata par noņemšanu no šī bērna vides. Rake nodod argumentu sarakstu šai saskarnei, atstājot savu ENV nemainīgu.
Noņemiet atslēgas, kas attiecas uz faktisko klientu. HTTPS darbība var izmantot arī https_proxy, un daži klienti lasa ALL_PROXY vai citu konfigurācijas failu. Vienas HTTP atslēgas noņemšana nav universāls tiešā maršruta norādījums.
Vairāku argumentu forma saglabā izpildāmā faila argumentus atsevišķi. Nav nepieciešams veidot čaulas virkni, kas satur noņemšanas komandu un URL.