Rake ಶೆಲ್ Ruby ನ ಪ್ರಾಕ್ಸಿಯನ್ನು ತೆಗೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ
ನಂತರದ ಕೆಲಸಗಳಿಗೆ Ruby ನ ENV ಬದಲಿಸಿ ಅಥವಾ ಪ್ರತ್ಯೇಕ sh ಕರೆಯೊಳಗೆ ಪ್ರಾಕ್ಸಿ ತೆಗೆಯುವ ಬದಲು ಮಗು ಪ್ರಕ್ರಿಯೆಗೆ ಪ್ರತ್ಯೇಕ environment hash ನೀಡಿ.
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 ನಿರ್ಮಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.