የ Rake shell የ Ruby proxyን ማስወገድ አይችልም
የ Ruby ENVን ለቀጣይ ተግባራት ይለውጡ ወይም በተናጠል በሚሠራ sh ጥሪ ውስጥ proxyን ከማስወገድ ይልቅ ለልጅ ሂደት የራሱን environment hash ያቅርቡ።
sh 'unset http_proxy' ለዚያ ጥሪ የሚጀመረውን shell ይለውጣል። ሲወጣ፣ የ Rake Ruby ሂደት አሁንም የመጀመሪያውን environment ይይዛል፣ በኋላም sh ጥሪ እንደገና ይወርሰዋል።
የ Ruby ሂደቱን ለቀጣይ ሥራ ለመለወጥ፦
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
ይህ በኋላ የሚጀመሩ ልጅ ሂደቶችንና እነዚያን ቁልፎች የሚያነቡ የ Ruby ኮዶችን ይነካል። Rakeን በመጀመሪያ ያስነሳውን terminal እንደገና አያስተካክልም።
ለአንድ የልጅ ትዕዛዝ፣ environmentውን በቀጥታ ያቅርቡ፦
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
የ Ruby ሂደት ማስጀመሪያ በይነገጽ nil እሴቶችን ከዚያ ልጅ environment ውስጥ እንደ ማስወገድ ይቆጥራል። Rake የአርጉመንት ዝርዝሩን ለዚያ በይነገጽ ያስተላልፋል፣ የራሱ ENV ሳይለወጥ ይቀራል።
ከትክክለኛው client ጋር የሚገናኙትን ቁልፎች ያስወግዱ። የ HTTPS ሥራ https_proxyንም ሊጠቀም ይችላል፣ አንዳንድ clientዎች ደግሞ ALL_PROXY ወይም ሌላ የማዋቀሪያ ፋይል ይመለከታሉ። አንድ የ HTTP ቁልፍ ብቻን ማስወገድ ሁሉንም የሚሸፍን የቀጥታ መንገድ መመሪያ አይደለም።
ብዙ አርጉመንት ያለው ቅርጽ የሚሠሩ አርጉመንቶችን ለየብቻ ይይዛል። የማስወገጃ ትዕዛዝና URL የያዘ የ shell ሕብረቁምፊ መገንባት አያስፈልግም።