Rake бүрхүүл Ruby-н проксийг арилгаж чадахгүй
Дараагийн ажлуудад Ruby-н ENV-г өөрчлөх эсвэл тусгаарлагдсан sh дуудлага дотор проксийг арилгахын оронд хүү процессд тусдаа 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 аргументын жагсаалтыг тэр интерфейс рүү дамжуулж, өөрийн ENV-г өөрчлөхгүй үлдээнэ.
Бодит client-т хамаарах түлхүүрүүдийг устгана уу. HTTPS үйлдэл https_proxy-г ч ашиглаж болох бөгөөд зарим client ALL_PROXY эсвэл өөр тохиргооны файлыг уншдаг. Зөвхөн нэг HTTP түлхүүр устгах нь шууд замын бүх нийтийн заавар биш.
Олон аргументын хэлбэр нь гүйцэтгэх файлын аргументуудыг тусгаарлан хадгална. Арилгах команд болон URL агуулсан бүрхүүлийн мөр байгуулах шаардлагагүй.