如果你在 Windows 上做开发,常见问题是:环境装起来了,但不可复现、路径混乱、终端体验差,时间久了就越用越难维护。WSL2(Windows Subsystem for Linux 2)能把 Linux 开发体验带到 Windows 上,同时保留 Windows 的桌面应用生态。
本文按“先把底座装稳,再逐步加工具”的思路,带你在 Windows 11 上用 WSL2 + Ubuntu 搭建一个干净、好维护的开发环境。
建议你先明确两件事:
1)你希望把项目代码放在哪里:推荐放在 Linux 文件系统(即 WSL 的 /home 下),再用 VS Code Remote 或 Windows Terminal 来编辑/运行,这样性能和权限更稳定。
2)你要“少折腾”还是“强可控”:如果你经常做多语言/多版本开发,后面会建议用版本管理器(如 nvm、pyenv/uv 等)来降低冲突。
在 Windows 11 上,通常可以用内置命令直接启用 WSL 并安装发行版。推荐先更新 WSL 内核:
wsl --update wsl --status如果你之前装过 WSL1,确保默认版本为 2:
wsl --set-default-version 2安装 Ubuntu 后首次启动会让你创建 Linux 用户名与密码。建议:
- 用户名尽量简短、全小写(避免路径里出现空格或特殊字符)
- 密码要能记住:后续安装依赖时会用到 sudo
进入 Ubuntu 后,先把系统更新到最新:
sudo apt update sudo apt -y upgrade推荐使用 Windows Terminal 作为主入口,并把 Ubuntu 配置成一个固定的 Profile。常见优化:
- 把默认启动目录设到 ~(避免每次落在 Windows 路径)
- 选择一套等宽字体(例如 JetBrains Mono / Cascadia Mono)以保证代码块对齐
- 如果你习惯 zsh,可以安装并配合轻量提示主题;但若追求稳定,bash 也完全够用
推荐做法:把项目放到 WSL 的 Linux 文件系统,例如:
mkdir -p ~/projects cd ~/projects不推荐:把代码长期放在 /mnt/c 这种 Windows 挂载盘路径下再用 Linux 工具频繁读写,可能遇到性能下降、权限与大小写问题。
如果需要在 Windows 文件管理器里打开 WSL 目录:
explorer.exe .先把常用工具补齐:
sudo apt install -y git curl wget ca-certificates build-essential配置 Git 的姓名与邮箱(用于提交记录):
git config --global user.name "Your Name" git config --global user.email "you@example.com"Node.js:如果你需要同时维护多个项目,建议用 nvm 来管理 Node 版本,这样不会把系统环境搞乱。安装完成后,为每个项目固定 Node 版本(例如用 .nvmrc)。
Python:建议用虚拟环境(venv/poetry/uv 任一)把依赖锁在项目内,避免全局 pip 污染。核心原则是:一个项目一个环境。
无论哪种语言,目标都是:换一台机器/重装系统时,能按照清单快速恢复。
建议使用 VS Code 的 Remote - WSL 工作流:编辑器在 Windows,但终端、依赖安装、运行环境都在 WSL。这样:
- 依赖更接近生产环境(Linux)
- 路径与权限一致,减少“在我电脑上可以”的问题
- Windows 桌面应用体验也不会丢
遇到问题时可以按这个顺序排查:
1)WSL 版本是否为 2:wsl -l -v
2)项目是否放在 WSL 的 Linux 目录:~/projects 这类
3)磁盘占用是否异常:长时间使用后可定期清理缓存与无用包(避免盲目删除系统文件)
4)网络是否稳定:优先检查 DNS/代理设置是否一致,尽量保持 Windows 与 WSL 的网络策略清晰可控
5)权限问题:不要在 Windows 盘里随意 chmod;把代码迁回 WSL 目录通常更省事
一个好环境的标准不是“装得多”,而是:干净、可复现、可迁移。你可以把本文当作底座清单,后续再按项目需要逐步加工具(数据库、容器、CI 等),每次只改一件事,并把变更记录下来。