终端无法联网而浏览器正常,通常是因未继承系统代理;修复需精准注入环境变量、按需启停代理,并确保git/npm/pip等工具生效。
终端(cmd/powershell)无法联网,但浏览器正常,通常不是网络本身故障,而是终端未继承系统代理或网络配置。脚本修复的核心是**精准注入环境变量、按需启用/绕过代理、并确保对 git/npm/pip 等工具生效**。
一、临时修复:单窗口生效,安全无残留
适合偶尔拉代码、装依赖的场景,关闭窗口即自动失效,不干扰其他任务:
- 打开 CMD,直接执行两行命令(替换 8080 为你本地代理的实际端口):
set http_proxy=http://127.0.0.1:8080
set https_proxy=http://127.0.0.1:8080
- 验证是否生效:运行 echo %http_proxy%,应显示完整地址
- 后续所有命令(如 git clone、npm install)将自动走代理
二、持久修复:用户级生效,重启后仍可用
适合开发日常高频使用,配置一次,长期有效:
- 右键“此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在“用户变量”区域新建两个变量:
变量名:HTTP_PROXY 变量值:http://127.0.0.1:8080
变量名:HTTPS_PROXY 变量值:http://127.0.0.1:8080
- 保存后,**必须新开一个 CMD 或 PowerShell 窗口**才能读取新变量
- 如需访问内网资源不走代理,额外添加变量:NO_PROXY=192.168.0.0/16,10.0.0.0/8,localhost
三、工具专属修复:避免全局代理误伤
某些工具(如 git、npm)支持独立配置,比系统级环境变量更灵活:
- Git:执行 git config --global http.proxy http://127.0.0.1:8080
- NPM:执行 npm config set proxy http://127.0.0.1:8080
- Pip:执行 pip config set global.proxy http://127.0.0.1:8080
- 取消时对应用 --unset 参数,例如:git config --global --unset http.proxy
四、快速诊断与清理脚本(推荐保存为 fix-proxy.bat)
把以下内容存为 .bat 文件,双击以一键检查、重置代理状态:
@echo off
echo 正在检查当前代理设置...
echo HTTP_PROXY = %HTTP_PROXY%
echo HTTPS_PROXY = %HTTPS_PROXY%
echo.
echo 【清理】正在清除所有代理环境变量...
set HTTP_PROXY=
set HTTPS_PROXY=
set NO_PROXY=
echo 已清除。新窗口中将不再使用代理。
pause
- 该脚本只影响当前窗口,不修改系统环境变量
- 如需彻底删除用户级变量,仍需进“环境变量”界面手动删










