背景
习惯了 Linux 开发环境的同学,一定对.bashrc或.zshrc中的alias功能爱不释手。特别是在拉取代码或下载依赖时,我们经常需要频繁切换代理环境。
在 Linux 中,我们通常会写两行 alias:
aliasproxy_on="export https_proxy=127.0.0.1:7890 && export http_proxy=127.0.0.1:7890"aliasproxy_off="unset http_proxy https_proxy转到 Windows 开发后,每次手动敲$env:HTTP_PROXY=...非常麻烦。其实 PowerShell 也有类似的配置文件$PROFILE,可以完美实现这个功能。
解决方案
1. 寻找并创建配置文件
PowerShell 的配置文件路径保存在变量$PROFILE中。
注意:默认情况下该文件可能不存在。如果你直接用记事本打开可能会报错“找不到文件”。请在 PowerShell 中执行以下命令,它会自动检测,如果文件不存在就创建一个:
notepad$PROFILE2. 编写函数脚本
在打开的记事本中,粘贴以下代码。
注:这里使用了 Function(函数)而非 Alias,因为函数在 PowerShell 中处理参数和逻辑更灵活。
functionproxy_on{param([string]$Proxy="http://127.0.0.1:7890")$env:HTTPS_PROXY =$Proxy$env:HTTP_PROXY =$Proxy$env:NO_PROXY ="localhost,127.0.0.1,::1"Write-Host"Proxy ON:$Proxy"}functionproxy_off{Remove-ItemEnv:HTTPS_PROXY,Env:HTTP_PROXY,Env:NO_PROXY-ErrorAction SilentlyContinueWrite-Host"Proxy OFF"}保存并关闭记事本。
3. 立即生效配置
回到 PowerShell 窗口,运行以下命令重载配置文件(或者直接重启终端):
.$PROFILE验证效果
现在你可以像在 Linux 里一样使用了。
开启代理
(base)PSC:\Users\User> proxy_on Proxy ON: http://127.0.0.1:7890验证连接
推荐使用 Windows 自带的curl.exe进行测试(注意加上.exe避免使用 PowerShell 的别名,并使用-I查看头信息):
curl.exe-I https://www.google.com如果看到类似HTTP/1.1 200 Connection established的输出,说明配置成功!
关闭代理
proxy_off适用范围
这个设置是环境变量级别的,对以下工具非常有效:
- Conda / Pip:Python 包下载加速。
- Git:命令行 Git 操作(部分场景需单独配置 git config,但环境变量通常有效)。
- Node.js (npm/yarn)。
- Curl / Wget等命令行工具。
注意:这不会影响 Chrome/Edge 等浏览器的代理设置(浏览器通常走系统级代理)。