ruby - 为什么 'unset http_proxy' 在 Rakefile 中不起作用
问题描述
'unset http_proxy' 或 'unset HTTP_PROXY' 在 Rakefile 中不起作用,在以下两个场景中其他 bash 命令成功工作
*文件格式:Rakefile
场景一:
desc "Remove HTTP Proxy"
task :remove_http do
puts "removing HTTP Proxy..."
sh "unset HTTP_PROXY"
puts"Removed HTTP & HTTPS Porxy"
puts "Showing Environment Variables"
sh "env"
end
场景二:
desc "Remove HTTP Proxy"
task :remove_http do
puts "removing HTTP Proxy..."
`unset HTTP_PROXY`
puts"Removed HTTP Porxy"
puts "Showing Environment Variables"
sh "env"
end
任何想法如何解决或取消设置 HTTP_PROXY 的 bash 命令将在 ruby Rakefile 中成功?
解决方案
为了详细说明乔提到的内容,
当您使用 sh 执行某些操作时,您会启动与运行 ruby 程序不同的 shell/会话。
在这种情况下,你unset HTTP_PROXY
在一个会话中。然后在不同的会话中显示环境。还有第三个会话正在运行您的 ruby 程序。
如果您想取消设置 HTTP_PROXY,请尝试这样做
p ENV['HTTP_PROXY'] # See if it's there
ENV.delete('HTTP_PROXY')
p ENV['HTTP_PROXY'] # See if it's gone
推荐阅读
- reactjs - 如何自定义Highcharts堆叠列中的每一列
- python - python中关于人口普查数据的关联规则挖掘
- python - Windows 中 Python 中长路径名的 FileNotFoundError
- javascript - 如何在节点服务器中取回文件?
- python - rsplit() 无法使用正则表达式拆分列
- ios - 故事板:在 UILabel 中水平居中文本
- python - 在html中将python列表显示为表格
- java - 将第一个元素放在堆栈(链表)上的最坏情况时间复杂度是多少?
- ffmpeg - 编辑 H264 视频流头信息(“start_pts”和“start_time”)
- javascript - 将功能组件转换为类组件(ReactJS)的问题