Skip to content

WSL2

安装 (自定义位置)

主要参考了官方的安装步骤,但利用wsl终端和Microsoft store默认会把虚拟机安装到C盘,占用空间会很大。下面给出的是自定义安装位置的方法

  1. 启用WSL: 打开powershell,运行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 启用虚拟机功能: 打开powershell,运行
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

接着重启计算机

  1. 下载 Linux 内核更新包

  2. 点击下载适用于 x64 计算机的 WSL2 Linux 内核更新包,并双击.msi文件运行

  3. 手动下载发行版(不要通过Microsoft Store)

发行版下载地址 这里以Ubuntu20.04为例

  1. 下载后找到Ubuntu_2004.2021.825.0_x64.appx, 把后缀名改成.zip解压,然后点击ubuntu.exe

image-20240325171145950

配置代理

法一:通过手动设置环境变量,参考资料

法二(推荐!): 在新版wsl中,编辑 C:\Users\用户名\.wslconfig 文件中的 [wsl2\] 下设置 networkingMode=mirrored ,官方教程然后重启wsl(先wsl --shutdown)

升级ubuntu版本

https://blog.csdn.net/weixin_44289959/article/details/124473296

Windows 下基于 WSL2 配置AI Agent 开发环境

1. WSL2 基础资源配置与性能优化

在 Windows 用户目录(如 C:\Users\YourName\)下创建 .wslconfig 文件。此配置能防止 WSL 占用过多宿主机内存,并优化开发体验。

[wsl2]
# 限制 WSL 内存上限,避免开发时宿主机卡顿
memory=8GB 
# 允许自动回收不再使用的内存(建议 Win11/Win10 新版本开启)
autoMemoryReclaim=gradual
# 自动压缩虚拟硬盘文件占用,节省空间
sparseVhd=true

[experimental]
# 镜像模式网络(Win11 23H2+ 强烈建议开启,Win10 保持默认)
# networkingMode=mirrored 
配置逻辑: WSL2 默认会吞噬大量内存作缓存且不主动释放。通过 .wslconfig 强制设置阈值,可以确保 Windows 宿主机与 WSL 之间的资源分配达到平衡。

2. 网络链路:通过 TUN 模式实现透明代理

无需在 WSL 内部配置任何环境变量,直接在 Windows 宿主机侧配置 Clash Verge

  • Service Mode:设置中安装 Service Mode,确保图标变为绿色常亮。
  • TUN Mode:主界面开启“TUN 模式”开关。
  • Allow LAN:确保“允许局域网连接”处于开启状态。

配置逻辑: Windows 10 的 WSL2 与宿主机不在同一网段,传统代理脚本常因防火墙策略失效。TUN 模式在系统底层创建虚拟网卡,将所有流量(包括 WSL 请求)透明地重定向至代理。开启后,WSL 内的 curlnpmclaude 无需任何设置即可直接联网。

3. 部署 AI Agent 环境与持久化会话

进入 WSL 终端(建议使用 Ubuntu),安装 Node.js 运行环境以及 tmux 进程管理工具。

# 1. 使用 nvm 安装 Node.js 20+ (Claude Code 的运行要求)


# 3. 开启持久化会话运行 Claude
tmux new -s claude_session
claude --dangerously-skip-permissions
# 快捷键说明:按下 Ctrl + B 接着按 D 即可脱离会话,进程在后台持续运行
# 重新连接命令:tmux a -t claude_session
配置逻辑: 使用 tmux 代替普通的终端窗口是实现“类似服务器体验”的关键。即便关闭 Windows Terminal 或因系统更新重启(配合 tmux 插件可恢复),AI Agent 依然在后台保持上下文,避免对话进度丢失。

4. 开发流集成:VS Code 与后端调试

通过 VS Code 的远程插件将 Windows 的 UI 体验与 WSL 的 Linux 环境结合。

# 在 WSL 内启动 FastAPI 示例
# 必须使用 --host 0.0.0.0 以允许宿主机穿透访问
uvicorn main:app --host 0.0.0.0 --port 8000
  • Remote - WSL 插件:在 VS Code 中搜索并安装 WSL 扩展,点击左下角蓝色图标连接。代码应存储在 WSL 的家目录(如 ~/projects)以获得最优的磁盘 IO 速度。
  • 端口映射:得益于 WSL2 的 Localhost Forwarding,在 Windows 浏览器访问 http://127.0.0.1:8000 即可实时调试运行在 WSL 里的 FastAPI 服务。
  • Agent 协作:在 VS Code 窗口编写业务逻辑,在下方的 tmux 终端中通过 Claude Code 进行代码重构或自动 Debug,形成完整的 AI 辅助开发闭环。

Comments