Rake lupina ne more odstraniti Rubyjevega proxyja
Spremenite Rubyjev ENV za kasnejše naloge ali zagotovite poseben hash okolja za otroka, namesto da bi odstranili proxy znotraj izoliranega klica sh.
sh 'unset http_proxy' spremeni lupino, zagnano za ta klic. Ko se konča, ima Rubyjev proces v Rakeu še vedno svoje prvotno okolje, poznejši klic sh pa ga znova podeduje.
Če želite spremeniti Rubyjev proces za nadaljnje delo:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
To vpliva na poznejše otroke in kodo Ruby, ki bere te ključe. To ne konfigurira znova terminala, ki je prvotno zagnal Rake.
Za en otroški ukaz navedite njegovo okolje neposredno:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Rubyjev vmesnik za zagon procesov obravnava vrednosti nil kot odstranitve iz okolja tega otroka. Rake posreduje seznam argumentov temu vmesniku in pusti svoj ENV nespremenjen.
Odstranite ključe, pomembne za dejanskega odjemalca. Operacija HTTPS lahko uporabi tudi https_proxy, nekateri odjemalci pa berejo ALL_PROXY ali drugo konfiguracijsko datoteko. Odstranitev samo enega ključa HTTP ni univerzalno navodilo za neposredno pot.
Oblika z več argumenti ohranja argumente izvršljive datoteke ločene. Ni treba sestaviti lupinske niza, ki vsebuje ukaz za odstranitev in URL.