不开 TUN 让 Git / npm / Docker 走 Clash 代理
git clone 卡住、npm install 超时、docker pull 拉不动?因为这些命令行工具不读系统代理。开 TUN 能解决,但若不想开 TUN,手动给它们配代理更轻量。端口统一用你的 mixed-port(默认 7897)。
先确认代理端口
在客户端「设置 → 端口」查看 mixed-port,新版默认 7897(旧版可能是 7890)。下文都用 7897 示例,请按你的实际端口替换。端口含义见 Clash 端口说明。
通用:环境变量
大多数工具识别 http_proxy / https_proxy 环境变量,设一次当前终端全生效:
# macOS / Linux (bash/zsh)
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
# Windows PowerShell
$env:http_proxy="http://127.0.0.1:7897"
$env:https_proxy="http://127.0.0.1:7897"
# Windows CMD
set http_proxy=http://127.0.0.1:7897
set https_proxy=http://127.0.0.1:7897
关掉终端后失效,适合临时使用;想永久生效写进 shell 配置文件或系统环境变量。
Git
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy
提示:SSH 方式(
[email protected])不走 http 代理,可只对 GitHub 走代理,或改用 HTTPS 克隆地址。npm / yarn / pip
# npm
npm config set proxy http://127.0.0.1:7897
npm config set https-proxy http://127.0.0.1:7897
# 取消
npm config delete proxy
npm config delete https-proxy
# pip(临时)
pip install 包名 --proxy http://127.0.0.1:7897
Docker
Docker 拉镜像走的是 daemon,需要给 daemon 配代理。Docker Desktop 在「Settings → Resources → Proxies」填 http://127.0.0.1:7897 即可;Linux 下在 ~/.docker/config.json 或 systemd drop-in 里配置 proxies。
小技巧与注意
- 命令行代理只影响配置过的工具,浏览器仍靠系统代理。
- 用完记得取消,否则关掉 Clash 后这些工具会因连不上代理而报错。
- 嫌麻烦就直接开 TUN 模式,一次性接管所有程序,无需逐个配置。
⚠️ 免责声明:本文为开源软件使用教程,本站不提供任何节点、VPN 或机场服务。请遵守所在地区法律法规,合理合法使用网络工具。