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,会随网络环境小幅波动。


相关推荐
.Hypocritical.7 小时前
Maven笔记——2
java·笔记·maven
乐橙开放平台7 小时前
养殖 SaaS 笔记:乐橙 IoT 物模型管环境,视频 OpenAPI 管回看
数据库·笔记·物联网·mysql·音视频
草莓熊Lotso7 小时前
【LangChain】输出解析器全解:让大模型输出从 “聊天” 变 “机器可读”
服务器·数据库·python·langchain·pip
love530love16 小时前
【笔记】AutoClaw NSIS 安装器卡死、进程杀不掉、目录删不了?我是这么解决的
人工智能·windows·笔记·agent
谙弆悕博士18 小时前
系统集成项目管理工程师教程(第3版)笔记——第2章:信息技术发展
笔记·计算机网络·信息安全·学习方法·业界资讯·软考·系统分析师
吃着火锅x唱着歌19 小时前
Effective C++ 学习笔记 条款37 绝不重新定义继承而来的缺省参数值
c++·笔记·学习
风曦Kisaki19 小时前
# Linux笔记:操作系统优化与资源管理
linux·运维·服务器·笔记
阿米亚波20 小时前
【C++】流式数据输入处理(不完全整理)
开发语言·c++·笔记
大模型码小白20 小时前
JAVA 集合框架进阶:List 与 Set 的深度解析与实战
java·开发语言·人工智能·windows·语言模型·list·ai编程
zhangrelay21 小时前
笔记本轻量高品质延寿工具完整分系统清单
运维·笔记·学习