A Rake shell nem tudja eltávolítani a Ruby proxyját
Módosítsa a Ruby ENV-jét a későbbi feladatokhoz, vagy adjon gyermekspecifikus környezeti hasht ahelyett, hogy egy elszigetelt sh-hívásban távolítaná el a proxyt.
sh 'unset http_proxy' megváltoztatja az adott híváshoz indított shellt. Amikor kilép, a Rake Ruby-folyamata még mindig az eredeti környezetét használja, és egy későbbi sh-hívás újra örökli azt.
A Ruby-folyamat módosításához a további munkához:
ENV.delete('http_proxy')
ENV.delete('HTTP_PROXY')
Ez hatással van a későbbi gyermekekre és az ezeket a kulcsokat olvasó Ruby-kódra. Nem konfigurálja újra azt a terminált, amely eredetileg elindította a Rake-et.
Egyetlen gyermekparancshoz adja meg közvetlenül a környezetét:
sh(
{ 'http_proxy' => nil, 'HTTP_PROXY' => nil },
'ruby', 'download.rb'
)
A Ruby folyamatindító felülete a nil értékeket az adott gyermek környezetéből való eltávolításként kezeli. A Rake átadja az argumentumlistát ennek a felületnek, saját ENV-jét változatlanul hagyva.
Távolítsa el a tényleges ügyfél szempontjából releváns kulcsokat. Egy HTTPS-művelet https_proxyt is fogyaszthat, és egyes ügyfelek az ALL_PROXY-t vagy egy másik konfigurációs fájlt olvassák. Egyetlen HTTP-kulcs eltávolítása nem univerzális közvetlen útvonalra vonatkozó utasítás.
A többargumentumos forma elkülönítve tartja a futtatható fájl argumentumait. Nem kell olyan shell-karakterláncot építeni, amely eltávolítási parancsot és URL-t tartalmaz.