Ni all plisgyn Rake ddad-wneud proxy Ruby
Newidiwch ENV Ruby ar gyfer tasgau diweddarach neu rhowch hash amgylchedd penodol i blentyn yn lle dad-wneud proxy y tu mewn i alwad sh ar wahân.
sh 'unset http_proxy' yn newid y plisgyn a lansiwyd ar gyfer y galwad honno. Pan fydd yn gorffen, mae proses Ruby Rake yn dal ei hamgylchedd gwreiddiol, ac mae galwad sh hwyrach yn ei etifeddu eto.
I newid y broses Ruby ar gyfer gwaith dilynol:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
Mae hyn yn effeithio ar blant diweddarach a chod Ruby sy'n darllen yr allweddau hynny. Nid yw'n ailffurfweddu'r derfynell a lansiodd Rake yn wreiddiol.
Ar gyfer un gorchymyn plentyn, rhowch ei amgylchedd yn uniongyrchol:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
Mae rhyngwyneb lansio prosesau Ruby yn trin gwerthoedd nil fel tynnu o amgylchedd y plentyn hwnnw. Mae Rake yn trosglwyddo'r rhestr dadleuon i'r rhyngwyneb hwnnw, gan adael ei ENV ei hun heb ei newid.
Tynnwch yr allweddau sy'n berthnasol i'r cleient gwirioneddol. Gall gweithrediad HTTPS ddefnyddio https_proxy hefyd, ac mae rhai cleientiaid yn ymgynghori ALL_PROXY neu ffeil ffurfweddu arall. Nid yw tynnu un allwedd HTTP yn unig yn gyfarwyddyd llwybr uniongyrchol cyffredinol.
Mae'r ffurf aml-ddadl yn cadw dadleuon gweithredadwy ar wahân. Nid oes angen llunio llinyn plisgyn sy'n cynnwys gorchymyn dad-wneud a URL.