WSL2 网络优化配置:提升Git克隆与包下载速度

目录


在使用WSL2进行开发时,发现Windows端下载速度正常,但WSL内Git克隆、pip安装依赖包速度较慢,难以跑满实际网速,部分场景需依赖国内镜像源提速。尝试了几种WSL网络配置优化方案,记录如下,供参考。

方法一:WSL2镜像网络模式配置

  1. 在WSL终端中执行命令,编辑环境配置文件
shell 复制代码
vim ~/.bashrc

打开文件后,注释掉文件中http_proxyhttps_proxy相关的旧配置,避免与新网络模式冲突。

  1. 执行命令关闭WSL,使配置生效
shell 复制代码
wsl --shutdown
  1. 进入路径C:\Users\你的用户名\,新建名为.wslconfig的文件,用记事本打开并写入以下配置
md 复制代码
[wsl2]
memory=8GB
processors=8
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
sparseVhd=true

保存文件后重新启动WSL,即可完成镜像网络模式配置。

实测该方案可优化WSL网络连通性,下载速度可稳定在几百KB至1MB左右。

方法二:WSL2版本更新与开发网络配置

部分场景下WSL默认版本不支持新网络特性,可先更新WSL版本,再配置开发环境网络参数。

  1. 以管理员身份打开PowerShell终端,执行WSL预览版更新命令
shell 复制代码
wsl --update --pre-release

若执行时出现403报错,可按以下步骤修复环境依赖:

  1. 开启WSL所需Windows核心功能
shell 复制代码
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. 执行完成后重启电脑,使系统功能生效。
  2. 同步系统时间,避免网络证书校验异常
shell 复制代码
net start w32time
w32tm /resync
  1. 重启后再次以管理员身份执行WSL更新命令,出现版本更新进度提示即代表更新成功
shell 复制代码
正在检查更新。
正在将适用于的 Linux 的 Windows 子系统更新到版本: 2.7.3.
  1. 按照方法一的配置,编辑.wslconfig文件,写入网络优化配置
md 复制代码
[wsl2]
nestedVirtualization=true
ipv6=true
[experimental]
autoMemoryReclaim=gradual # gradual | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

配置完成后重启WSL。

  1. WSL开发环境网络连通性配置
shell 复制代码
# 获取主机网关IP,测试本地网络端口连通性
export hostip=$(cat /etc/resolv.conf | grep -oP 'nameserver\s+\K\S+')
curl -x http://${hostip}:7890 https://github.com -I --connect-timeout 5

若测试出现连接失败,可配置临时环境变量,适配本地开发网络:

shell 复制代码
export ALL_PROXY="http://localhost:7890"
export HTTP_PROXY="http://localhost:7890"
export HTTPS_PROXY="http://localhost:7890"

针对Git克隆失败的问题,单独配置Git网络参数:

shell 复制代码
git config --global http.proxy "http://localhost:7890"
git config --global https.proxy "http://localhost:7890"

该方案可成功完成Git克隆与包安装,实测下载速度约2MB,会随网络环境小幅波动。


相关推荐
caimouse28 分钟前
Reactos 第 4 章 对象管理 — 4.5 几个常用的内核函数
c语言·windows·架构
nnsix1 小时前
Unity 贴图压缩格式 笔记
笔记·unity·贴图
caimouse1 小时前
Reactos 第 4 章 对象管理 — 4.3 句柄和句柄表(Handle & Handle Table)
c语言·windows·架构
xian_wwq1 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
Chase_______2 小时前
【Java基础 | 15】集合框架(中):Set、HashSet、TreeSet 与哈希表
java·windows·散列表
.千余3 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
caimouse3 小时前
Windows NT 内核架构(主通用模型)流 NT 5.x/10+
windows·架构
caimouse3 小时前
Reactos 第 3 章 内存管理 — 【中篇】Hyperspace、系统空间、API 与异常
c语言·开发语言·windows·架构
Oll Correct3 小时前
实验三十一:配置DHCP中继代理
网络·笔记