Macos中 终端 与 brew 使用代理的问题
解决 macOS中 终端 & Homebrew 的代理问题
前情提要
之前我曾分享过将旧的 Macbook Pro 刷为 Ubuntu的经历,但由于 Ubuntu 在旧设备上运行较卡顿,最终决定回归 macOS。最近花了一个周末时间,使用 OpenCore Legacy Patcher 工具成功将原本的 macOS Lion 7.5 升级到了 macOS Monterey。
解决 Brew 安装 FFmpeg 的代理问题
最近在使用 Homebrew 安装 FFmpeg 时遇到了代理问题,虽然我已经配置好了 V2Ray 代理,可以正常访问 Google,但 curl
命令却无法正常工作。
第一步:解决基础 curl 代理问题
按照 ChatGPT 的建议,我创建了 ~/.curlc
文件,并添加了以下内容:
proxy="socks5h://127.0.0.1:10808" # 注意端口号需要替换为你自己的
这样配置后,基本的 curl
命令可以正常工作了。
第二步:解决 Brew 的 curl 问题
然而,当我尝试 brew install ffmpeg
时,却遇到了新的错误:
curl: (56) Proxy CONNECT aborted
ChatGPT 建议安装 Privoxy 来解决这个问题,但这个方法看起来比较复杂,而且没能解决我的问题。
最终解决方案
通过分析,我发现虽然手动 curl
可以工作,但 brew 使用的 curl
却不行,这应该是 .curlc
配置文件未被 brew 识别的问题。于是我开始查阅 Homebrew 官方环境变量文档,发现了关键的环境变量:
HOMEBREW_CURLRC
这正是我需要的!立即在环境变量中添加:
再次运行 brew install ffmpeg
,问题顺利解决!
总结
当遇到 brew 代理问题时,除了配置系统代理外,还需要注意:
- 为 curl 创建单独的配置文件
- 设置
HOMEBREW_CURLRC
环境变量指向该文件
- 官方文档永远是最可靠的参考资料
希望这个经历能帮助到遇到类似问题的朋友!