很多使用 Mac 的用户都很喜欢从 HomeBrew 下载管理第三方应用程序,并推荐给刚入门的小白们。但是小白们通过 HomeBrew 获取安装命令并输入到终端后,却发现总是连接失败。
当然,这是因为 HomeBrew 被 qiáng 了!后来,发现开启科学下载,发现 还是连接失败。那这是为什么呢?原因很简单,因为 macOS 终端默认不走代理!
那么如何让 macOS 终端走代理呢?
首先,在当前用户根目录找到(新建)一个文件名为 .bash_profile 的文件「. 开头文件为隐藏文件」,然后输入以下代码:
function proxy_off(){
unset http_proxy
unset https_proxy
unset ftp_proxy
unset rsync_proxy
echo -e "已关闭代理"
}
function proxy_on() {
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
export http_proxy="http://127.0.0.1:7890"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export rsync_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
export FTP_PROXY=$http_proxy
export RSYNC_PROXY=$http_proxy
echo -e "已开启代理"
}
函数中的 http_proxy="http://127.0.0.1:7890"就是你代理的端口和IP,比方说我用的clashX,默认端口就是7890。
然后,当让终端走代理的时候,输入: source ~/.bash_profile proxy_on 想关闭代理的时候,输入: proxy_off 该代码为一次性的,当关闭终端界面,需要再次输入 source ~/.bash_profile proxy_on 才能让终端再次走代理
注意: proxy_off()、proxy_on() #两个函数可以自定义修改,如 kaki_ssr()、guanbi_ssr() http://127.0.0.1:1087 #其中1087代表HTTP监听端口 ~/.bash_profile #代表文件路径,~ 代表当前用户目录,.bash_profile 代表文件名
实操
首先,打开终端,输入:
source ~/.bash_profile
proxy_on
然后,输入 HomeBrew 安装代码:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
当安装好 HomeBrew 和应用软件后,关闭代理,输入:
proxy_off #或者直接关闭终端窗口
当需要再次更新 HomeBrew 的时候,输入:
source ~/.bash_profile
proxy_on
如果没有修改文件名、函数名称以及文件位置在根目录下,那么安装 HomeBrew 流程就是如此!
如果你neng 找到文件,用代码编辑器如vs code也是可以编辑的
若如果不了解什么是用户根目录,可以在终端,输入:
vim ~/.bash_profile
然后,会进入 vim 编辑页面,再输入:
function proxy_off(){
unset http_proxy
unset https_proxy
unset ftp_proxy
unset rsync_proxy
echo -e "已关闭代理"
}
function proxy_on() {
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
export http_proxy="http://127.0.0.1:1087"
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export rsync_proxy=$http_proxy
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$http_proxy
export FTP_PROXY=$http_proxy
export RSYNC_PROXY=$http_proxy
echo -e "已开启代理"
}
最后,按住「ESC」,继续输入:
:wq
这样就可以在用户根目录下,创建文件名为 .bash_profile 的文件。