程序员怎么让终端也走代理?

很多人开了客户端,浏览器能上网,终端里 git clone 还是慢,因为命令行默认不读系统代理。

更新于 2026-09-24整理:我爱机场推荐编辑部含联盟推广,见推广披露

一句话回答

浏览器走系统代理,命令行通常不走。要么给终端设置代理环境变量,要么在客户端里开启 TUN 模式,再配合规则分流。

方法一:终端环境变量

先在客户端里查看本地代理端口。下面以 7890 为例,端口以你的客户端设置为准。

# macOS / Linux(当前终端窗口有效)
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890

# Windows PowerShell
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:HTTP_PROXY="http://127.0.0.1:7890"

方法二:git 单独设置

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy

方法三:TUN 模式

部分客户端提供 TUN 模式,会创建一个虚拟网卡接管系统流量,命令行也会走代理,通常需要管理员权限。开启前先阅读客户端说明。

配合规则分流

不必所有流量都走代理。把 github.com、npmjs.org 等常用域名放进代理规则,国内镜像走直连,既快又省流量。

常见问题

npm、pip 也要单独设置吗?

它们通常读环境变量,设置了终端代理一般就能用;也可以使用国内镜像。

Docker 拉镜像怎么走代理?

Docker 守护进程有自己的代理配置,具体见 Docker 官方文档。

你可能还想问