Rake-skelf getur ekki fjarlægt proxy Ruby
Breyttu ENV Ruby fyrir seinna verk eða gefðu barni sérsniðið umhverfishash í stað þess að fjarlægja proxy inni í einangruðu sh-kalli.
sh 'unset http_proxy' breytir skelfunni sem er ræst fyrir það kall. Þegar hún lýkur hefur Ruby-ferlið í Rake enn upprunalegt umhverfi sitt, og seinna sh-kall erfir það aftur.
Til að breyta Ruby-ferlinu fyrir frekari vinnu:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
Það hefur áhrif á seinna börn og Ruby-kóða sem les þessa lykla. Það stillir ekki aftur þá skjáhermi sem ræsti Rake upphaflega.
Fyrir eina barnskipun skaltu gefa umhverfi hennar beint:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Ferlaræsingarviðmót Ruby meðhöndlar nil-gildi sem fjarlægingar úr umhverfi þess barns. Rake sendir frumbreytulistann til þess viðmóts og lætur eigið ENV óbreytt.
Fjarlægðu lyklana sem skipta máli fyrir raunverulega biðlarann. HTTPS-aðgerð getur líka notað https_proxy, og sumir biðlarar skoða ALL_PROXY eða aðra stillingarskrá. Að fjarlægja einn HTTP-lykil er ekki almenn leiðsögn um beina leið.
Formið með mörgum frumbreytum heldur frumbreytum keyrsluskrárinnar aðskildum. Það er ekki þörf á að byggja skelfustreng sem inniheldur fjarlægingarskipun og URL.