MacOS中经典坑点:系统代理设置 ≠ 终端代理环境变量
你有没有遇到过这个坑点,即使你配置了系统代理,但命令行工具只认 http_proxy / https_proxy 环境变量。
原因解释:macOS 的代理架构分层:

- 系统代理:影响 Safari、Chrome(默认模式)等 GUI 应用
- 终端代理:需要显式设置环境变量
解决方案
- 在 ~/.zshrc 中添加函数,按需开关
# 开启代理proxy_on() { export http_proxy=http://127.0.0.1:7890 export https_proxy=http://127.0.0.1:7890 export all_proxy=socks5://127.0.0.1:7890 echo "代理已开启"}# 关闭代理proxy_off() { unset http_proxy unset https_proxy unset all_proxy echo "代理已关闭"}# 查看当前代理状态proxy_status() { env | grep -i proxy}- 运行 source ~/.zshrc,然后终端输入 proxy_on 即可。
- 测试,运行指令
curl -s ip.sb# 应该显示代理服务器的IP地址文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有