记录时间:2026-04-28 20:17:26 适用场景:在大陆等网络受限环境下,让 Git、GitHub CLI、npm、pip、curl 等终端工具稳定访问海外资源。
核心理念
过去常见的做法是为每个工具分别配置代理,例如:
-
git config --global http.proxy -
npm config set proxy -
pip --proxy ...
这种方式的问题是维护成本高。一旦代理软件或端口发生变化,很容易遗漏某个工具的专属配置,最终出现网络超时、连接失败、认证异常等不易排查的问题。
更推荐的做法是:清理各工具的专属代理配置,统一使用 Windows 用户级环境变量 HTTP_PROXY 和 HTTPS_PROXY。
这样做的好处是:
-
一处修改,全局生效:多数现代命令行工具都会自动读取这两个标准环境变量。
-
配置更干净:减少 Git、npm、pip 等工具之间互相冲突的代理设置。
-
维护成本更低:如果代理端口从
7890变为10808,只需要修改一次环境变量。
配置方法
下面假设本地代理软件(如 Clash、V2Ray、sing-box 等)提供的 HTTP 代理端口为 7890。
如果你的代理端口不是 7890,请把命令中的 7890 替换为实际端口。
推荐方法:PowerShell 一键永久配置
打开 PowerShell,执行以下命令,将代理永久写入当前 Windows 用户的环境变量:
# 永久设置用户级环境变量
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://127.0.0.1:7890", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://127.0.0.1:7890", "User")
# 让当前已打开的 PowerShell 窗口立即生效
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
说明:永久环境变量会在新打开的终端、IDE 或编辑器中自动生效;已经打开的窗口通常需要重启,除非像上面一样手动设置当前会话变量。
备用方法:Windows 图形界面配置
-
按
Win + R,输入sysdm.cpl,然后回车。 -
切换到 高级 选项卡,点击 环境变量。
-
在上半部分的 用户变量 区域点击 新建,依次添加:
-
变量名:
HTTP_PROXY,变量值:http://127.0.0.1:7890 -
变量名:
HTTPS_PROXY,变量值:http://127.0.0.1:7890
-
-
点击 确定 保存。
-
重启终端、IDE 或编辑器,让新环境变量生效。
验证与排错
1. 验证环境变量是否生效
在 PowerShell 中执行:
echo $env:HTTP_PROXY
echo $env:HTTPS_PROXY
如果输出类似下面的内容,说明环境变量已经生效:
http://127.0.0.1:7890
http://127.0.0.1:7890
2. 测试网络访问
可以使用 curl 测试终端是否能通过代理访问外部资源:
curl https://github.com
如果能返回 HTML 内容或正常响应,说明代理链路基本可用。
3. 清理 Git 的冗余代理配置
为了避免 Git 的专属代理配置覆盖系统环境变量,建议清理旧配置:
git config --global --unset http.proxy
git config --global --unset https.proxy
如果提示没有该配置项,可以忽略。
清理后执行:
git config --global --list | Select-String "proxy"
如果没有输出,说明 Git 的专属代理配置已经清理干净。
4. 常见问题
-
新终端没有生效:确认变量添加在「用户变量」区域,并重启终端或 IDE。
-
端口不正确:检查代理软件的 HTTP 代理端口,常见端口有
7890、10808、20171等。 -
代理软件未开启系统代理:本指南使用的是本地 HTTP 代理端口,代理软件本身仍需要保持运行。
-
某些工具仍然失败:检查该工具是否单独配置过代理,必要时清理工具级配置。
取消代理配置
如果以后不再需要终端代理,可以执行:
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "User")
Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue
Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue
执行后重启终端即可。
总结
统一使用 HTTP_PROXY 和 HTTPS_PROXY 是 Windows 终端代理配置中更清爽、稳定、易维护的方式。后续更换代理软件或端口时,只需要更新这两个环境变量,大多数开发工具都会自动跟随生效。