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 бар қабық жолын құрудың қажеті жоқ.

Қатысты мақалалар