OSX代理问题导致使用homebrew安装出现错误

13

我已经尝试了解决我的问题,但是没有得到我需要的答案。

目标:安装homebrew并使用它 我正在使用的操作系统:OS X El Capitan

以下是我的问题: 我是一个OS X和Homebrew的新手。我正在尝试使用以下命令从我的家庭网络安装homebrew:

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 anything”时,brew会出现“Bad URI”错误。 不确定是brew的问题还是使用代理时我的方式存在问题。

我认为,如果我在非办公室环境下解决此代理问题,则可能会解决此问题。 那么我该如何在osx上关闭http代理?这样,当我至少运行以下命令时,它就能正常工作。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

也许接下来brew就会开始工作了。

提前感谢任何提供帮助的人。

5个回答

25

设置 ALL_PROXY 环境变量帮助我在公司代理后面解决了所有 CLI 问题(无论是 npm 还是 homebrew)。像这样:

export ALL_PROXY=https://your.domain.dev:3128

希望它能对你有所帮助。


8

我解决了自己的问题,也很可能解决了提问者的问题!
请删除以下文件: rm ~/.gitconfig

事实证明,记住代理设置的不是 Ruby 或 Curl,而是 Git 本身,并且没有任何环境变量可以帮助此处。

如果以后想要恢复它,看起来是这个样子:

[http] proxy = http://www.my.proxy.com:80


这对我有用,尽管我建议重命名.gitconfig文件而不是删除它: mv .gitconfig saved.gitconfig - Markku K.
我从.gitconfig文件中删除了与代理相关的配置,这对我起作用了。删除.gitconfig可能会移除其他与Git相关的设置。谢谢 @user2465201 - Satyen Shimpi
尝试了无数个答案,只有这个有效。但像其他人说的那样,不要删除.gitconfig文件...只需将其重命名并恢复即可。 - kaushalpranav

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

有没有任何方法可以使它不使用任何代理服务器来进行家庭使用?(因为我在家里没有代理服务器,和 OP 有相同的问题。)谢谢。 - user2465201
我和OP有同样的问题,但这个方法无法解决,因为我在家里没有代理,并且不知道如何设置一个DO_NOT_USE的代理。非常感谢任何帮助。我将尝试重新安装Ruby,看看是否能清除它对公司代理的记忆。 - user2465201

2

Homebrew基于Git和Ruby。在底层,它使用Git的代理配置(即.gitconfig文件的内容)。如果您想要取消Homebrew的代理设置,则只需取消Git正在使用的代理设置。有两种方法可以做到这一点。

1.删除类似以下行的内容。您的系统可能具有不同的http / socks代理设置。您的.gitconfig文件的内容可能与以下内容不同:

[https]
    proxy = socks5h://127.0.0.1:9090
[http]
    proxy = socks5h://127.0.0.1:9090

2. 或者您可以使用命令行取消设置/禁用代理。[这是更安全的方法]

git config --global --unset http.proxy
git config --global --unset https.proxy

谢谢,我的解决方案是发现https和http有代理设置。 - Dielson Sales

0

对于仍然遇到此问题的人,以下是我解决方法:

/usr/bin/ruby -e "$(curl -x 192.168.233.26:3128 -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

-x 告诉 curl 关于你的代理


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接