sh 'unset http_proxy' ସେହି କଲ ପାଇଁ ଆରମ୍ଭ ହେଉଥିବା ଶେଲ ବଦଳାଏ। ଏହା ବନ୍ଦ ହେଲେ Rake ର Ruby ପ୍ରକ୍ରିୟା ପାଖରେ ତାର ମୂଳ environment ରହେ, ଏବଂ ପରବର୍ତ୍ତୀ sh କଲ ଏହାକୁ ପୁଣି ଉତ୍ତରାଧିକାର କରେ।

ପରବର୍ତ୍ତୀ କାମ ପାଇଁ Ruby ପ୍ରକ୍ରିୟା ବଦଳାଇବାକୁ:

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

ଏହା ପରବର୍ତ୍ତୀ ଶିଶୁ ଓ ସେହି keys ପଢ଼ୁଥିବା Ruby କୋଡ ଉପରେ ପ୍ରଭାବ ପକାଏ। ଏହା Rake କୁ ମୂଳତଃ ଆରମ୍ଭ କରିଥିବା ଟର୍ମିନାଲକୁ ପୁନଃ କନଫିଗର କରେ ନାହିଁ।

ଏକ ଶିଶୁ ଆଦେଶ ପାଇଁ ତାର environment ସିଧାସଳଖ ଦିଅନ୍ତୁ:

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

Ruby ର ପ୍ରକ୍ରିୟା-ଆରମ୍ଭ ଇଣ୍ଟରଫେସ nil ମୂଲ୍ୟକୁ ସେହି ଶିଶୁର environment ରୁ ହଟାଇବା ଭାବରେ ଗ୍ରହଣ କରେ। Rake argument ତାଲିକାକୁ ସେହି ଇଣ୍ଟରଫେସକୁ ଦିଏ, ଯାହାଫଳରେ ନିଜର ENV ଅପରିବର୍ତ୍ତିତ ରହେ।

ପ୍ରକୃତ client ସହ ସମ୍ପର୍କିତ keys ହଟାନ୍ତୁ। HTTPS କାର୍ଯ୍ୟ https_proxy ମଧ୍ୟ ବ୍ୟବହାର କରିପାରେ, ଏବଂ କେତେକ client ALL_PROXY କିମ୍ବା ଅନ୍ୟ configuration ଫାଇଲ ଦେଖନ୍ତି। କେବଳ ଗୋଟିଏ HTTP key ହଟାଇବା ସାର୍ବଭୌମିକ direct-route ନିର୍ଦ୍ଦେଶ ନୁହେଁ।

ବହୁ-argument ରୂପ କାର୍ଯ୍ୟକାରୀ arguments ଅଲଗା ରଖେ। unset ଆଦେଶ ଓ URL ଥିବା shell string ତିଆରି କରିବା ଆବଶ୍ୟକ ନାହିଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ