我试图对我的问题进行必要的搜索,但我得不到我需要的答案。
目标:安装自制软件&与自制软件一起工作 我正在使用的操作系统:OS X El Capitan
以下是我的问题: 我是OS X&的新手家酿。我正在尝试使用以下命令从我的家庭网络安装自制软件:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
但是我收到以下错误:
curl: (7) Failed to connect to "company_domain_ip" port "port#": Operation timed out
看起来执行ruby curl的事情是试图通过公司代理和&端口,即使我在我的家庭网络。我尝试从网络偏好设置切换代理>高级>代理。但没有帮助。
如果我在办公室网络中使用ruby curl东西安装brew,那么它安装得很好。但是,当我尝试“酿造任何东西”时,brew会给出错误的URI错误。不确定这是一个冲泡问题,还是我在代理方面使用brew的问题。
我认为如果我在我的osx上非办公室时绕过这个代理,那么它可能会解决问题。那么如何在osx中关闭http代理呢?所以当我至少运行以下命令时,它首先起作用。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后可能brew也将开始工作。
提前感谢您提供的任何帮助。
答案 0 :(得分:10)
设置ALL_PROXY环境变量帮助我解决了公司代理背后的所有cli问题(无论是npm还是homebrew)。像这样:
export ALL_PROXY=https://your.domain.dev:3128
希望它适合你。
答案 1 :(得分:4)
在终端中,输入以下内容:
http_proxy=http://IP:PORT https_proxy=http://IP:PORT brew install PACKAGE
对我来说,是在IIIT代理之后并尝试安装python3,所以这很有效:
http_proxy=http://proxy.iiit.ac.in:8080 https_proxy=http://proxy.iiit.ac.in:8080 brew install python3
答案 2 :(得分:3)
我解决了我自己和OP的问题! 删除以下文件: rm~ / .gitconfig
事实证明,不是ruby或curl不恰当地记住代理,而是git本身,没有环境变量可以帮助到这里。
如果您以后想恢复它,它看起来像这样:
[HTTP] proxy = http://www.my.proxy.com:80
答案 3 :(得分:0)
对于仍然遇到此问题的人来说,这对我有用:
/usr/bin/ruby -e "$(curl -x 192.168.233.26:3128 -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-x告诉curl您的代理
答案 4 :(得分:0)
Homebrew基于Git和Ruby。因此,它强调了它使用Git的代理配置(import requests
import requests_mock
def funtion_to_be_tested():
requests.put(
headers={'X-API-Key': 'api_key'},
url=url,
params={'param1': 'foo'},
data='This is the data'
)
with requests_mock.mock() as m:
url = 'http://example.com/upload'
m.put(url, text='ok')
funtion_to_be_tested()
assert m.last_request.headers['X-API-Key'] == 'api_key'
assert m.last_request.text == 'This is the data'
的内容)。如果您要取消设置Homebrew的代理,则只需取消设置Git使用的Proxy。做到这一点的两种方法
1。要么删除类似于以下内容的行。您的系统可能具有不同的http / socks代理设置。您的.gitcofig
文件内容可能与下面的内容不同
.gitconfig
2.else,您可以使用命令行取消/禁用代理。这是更安全的方法
[https]
proxy = socks5h://127.0.0.1:9090
[http]
proxy = socks5h://127.0.0.1:9090