sh 'unset http_proxy' ផ្លាស់ប្តូរសែលដែលបានចាប់ផ្តើមសម្រាប់ការហៅនោះ។ នៅពេលវាចេញ ដំណើរការ Ruby របស់ Rake នៅតែមានបរិស្ថានដើមរបស់វា ហើយការហៅ sh បន្ទាប់នឹងទទួលមរតកវាម្តងទៀត។

ដើម្បីផ្លាស់ប្តូរដំណើរការ Ruby សម្រាប់ការងារបន្ទាប់៖

ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')

វាប៉ះពាល់ដល់កូនដំណើរការបន្ទាប់ និងកូដ Ruby ដែលអានកូនសោទាំងនោះ។ វា មិនកំណត់សារឡើងវិញនូវ terminal ដែលបានចាប់ផ្តើម Rake ដំបូង។

សម្រាប់ពាក្យបញ្ជាកូនមួយ ផ្តល់បរិស្ថានរបស់វាដោយផ្ទាល់៖

sh(
  { 'http_proxy' => nil, 'HTTP_PROXY' => nil },
  'ruby', 'download.rb'
)

ចំណុចប្រទាក់បើកដំណើរការរបស់ Ruby ចាត់ទុកតម្លៃ nil ជាការដកចេញពីបរិស្ថានរបស់កូននោះ។ Rake បញ្ជូនបញ្ជីអាគុយម៉ង់ទៅចំណុចប្រទាក់នោះ ដោយទុក ENV របស់ខ្លួនមិនផ្លាស់ប្តូរ។

ដកកូនសោដែលពាក់ព័ន្ធនឹង client ពិតប្រាកដ។ ប្រតិបត្តិការ HTTPS ក៏អាចប្រើ https_proxy ដែរ ហើយ client ខ្លះពិនិត្យ ALL_PROXY ឬឯកសារកំណត់រចនាសម្ព័ន្ធផ្សេង។ ការដកកូនសោ HTTP តែមួយមិនមែនជាការណែនាំផ្លូវផ្ទាល់ជាសកលទេ។

ទម្រង់ពហុអាគុយម៉ង់រក្សាអាគុយម៉ង់របស់ឯកសារប្រតិបត្តិដាច់ពីគ្នា។ មិនចាំបាច់បង្កើតខ្សែអក្សរសែលដែលមានពាក្យបញ្ជាដក និង URL ទេ។

អត្ថបទពាក់ព័ន្ធ