Rake قېپاقچىسى Ruby نىڭ proxy نى ئۆچۈرەلمەيدۇ
Ruby نىڭ ENV نى كېيىنكى ۋەزىپىلەر ئۈچۈن ئۆزگەرتىڭ ياكى ئايرىلغان sh چاقىرىقى ئىچىدە proxy نى ئۆچۈرۈشنىڭ ئورنىغا بالىغا ئايرىم environment hash بېرىڭ.
sh 'unset http_proxy' شۇ چاقىرىق ئۈچۈن قوزغىتىلغان قېپاقچىنى ئۆزگەرتىدۇ. ئۇ چىققاندىن كېيىن، Rake دىكى Ruby جەريانى يەنىلا ئەسلى environment نى ساقلايدۇ، كېيىنكى sh چاقىرىقى ئۇنى قايتا مىراس ئالىدۇ.
كېيىنكى خىزمەت ئۈچۈن Ruby جەريانىنى ئۆزگەرتىش ئۈچۈن:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
بۇ كېيىنكى بالىلارغا ۋە شۇ ئاچقۇچلارنى ئوقۇيدىغان Ruby كودىغا تەسىر كۆرسىتىدۇ. ئۇ Rake نى دەسلەپتە قوزغاتقان تېرمىنالنى قايتا سەپلىمەيدۇ.
بىر بالا بۇيرۇق ئۈچۈن، ئۇنىڭ environment نى بىۋاسىتە بېرىڭ:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Ruby نىڭ جەريان قوزغىتىش كۆرۈنمە يۈزى nil قىممەتنى شۇ بالىنىڭ environment دىن ئۆچۈرۈش دەپ قارايدۇ. Rake argument تىزىملىكىنى شۇ كۆرۈنمە يۈزگە يەتكۈزىدۇ، ئۆزىنىڭ ENV نى ئۆزگەرتمەيدۇ.
ھەقىقىي client قا مۇناسىۋەتلىك ئاچقۇچلارنى ئۆچۈرۈڭ. HTTPS مەشغۇلاتى https_proxy نىمۇ ئىشلىتىشى مۇمكىن، بەزى client لار ALL_PROXY ياكى باشقا configuration ھۆججىتىنى تەكشۈرىدۇ. پەقەت بىر HTTP ئاچقۇچىنى ئۆچۈرۈش ئۇنىۋېرسال بىۋاسىتە يول كۆرسەتمىسى ئەمەس.
كۆپ argument شەكلى ئىجرا قىلغىلى بولىدىغان ھۆججەتنىڭ argument لىرىنى ئايرىپ ساقلايدۇ. ئۆچۈرۈش بۇيرۇقى ۋە URL بار shell تىزمىسى قۇرۇشنىڭ ھاجىتى يوق.