当前位置: 首页 > news >正文

WSL2 完整开发环境配置指南

Windows 11 + WSL2 + Ubuntu 22.04 全栈开发环境

作为一名全栈开发工程师,我在 Windows 系统上配置 Java + Vue3 开发环境时遇到了诸多挑战。经过实践,我发现通过 WSL2(Windows Subsystem for Linux 2)可以构建一个接近原生 Linux 的开发环境,极大提升开发效率。本文将分享一套可复制、可复用、工程级的初始化方案。


一、为什么选择 WSL2?

  • ✅ 与服务器环境高度一致,避免"本地能跑,服务器翻车"的问题
  • ✅ Docker 和 CI/CD 构建行为完全一致
  • ✅ 系统级工具链(Java、Node、Docker)原生支持
  • ✅ 这套环境配置3-5 年不会过时

二、整体执行顺序

配置过程分为六个步骤,建议按顺序执行,不要跳过

  1. Windows 启用 WSL2
  2. 安装 Ubuntu 22.04
  3. 初始化 Linux 基础环境
  4. 安装 Java / Node / pnpm
  5. 安装 Docker(WSL 原生)
  6. 开发体验增强(zsh / git / 性能)

三、Windows 侧一次性配置

3.1 启用 WSL2

管理员身份打开 PowerShell,执行以下命令:

wsl--install wsl--set-default-version 2 wsl--update

安装完成后,在Microsoft Store搜索并安装:

Ubuntu 22.04 LTS

3.2 配置 WSL2 资源限制(强烈建议)

在 Windows 用户目录下创建配置文件:C:\Users\<你的用户名>\.wslconfig

[wsl2] memory=16GB processors=8 swap=8GB localhostForwarding=true

配置完成后,重启 WSL:

wsl--shutdown

四、Ubuntu 系统初始化

登录 Ubuntu 后,直接复制以下脚本整段执行

# =========================# WSL2 Base Init Script# Ubuntu 22.04# =========================set-eecho"▶ 更新系统"sudoaptupdate&&sudoaptupgrade -yecho"▶ 安装基础工具"sudoaptinstall-ycurlwgetgitunzipzipca-certificates build-essential software-properties-common lsb-release gnupg2 net-toolshtoptree jqecho"▶ 设置时区"sudotimedatectl set-timezone Asia/Shanghaiecho"▶ Git 基础配置"gitconfig --global core.autocrlf inputgitconfig --global core.filemodefalsegitconfig --global pull.rebasefalseecho"▶ 创建项目目录"mkdir-p ~/projectsecho"✔ 基础环境初始化完成"

五、Java 开发环境配置

5.1 安装 SDKMAN(推荐)

SDKMAN 是 Java 生态的版本管理工具,可以轻松切换不同 JDK 版本:

curl-s"https://get.sdkman.io"|bashsource"$HOME/.sdkman/bin/sdkman-init.sh"

5.2 安装 JDK

sdkinstalljava17.0.10-tem sdkinstalljava21.0.2-tem sdk default java17.0.10-tem

验证安装:

java -version

六、Node.js 与 pnpm 配置

6.1 安装 nvm

curl-fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh|bashsource~/.bashrc

6.2 安装 Node LTS 和 pnpm

nvminstall--lts nvm use --lts corepackenablecorepack prepare pnpm@latest --activate

验证安装:

node-vpnpm-v

七、Docker 环境配置

7.1 卸载旧版本

sudoaptremove -ydockerdocker-engine docker.io containerd runc

7.2 安装 Docker Engine

curl-fsSL https://get.docker.com|sh

7.3 权限配置

sudousermod-aGdocker$USERnewgrpdocker

验证安装:

dockerrun hello-worlddockercompose version

八、开发体验增强(可选但推荐)

8.1 安装 Zsh + Oh My Zsh

Zsh 配合 Oh My Zsh 可以大幅提升终端使用体验:

sudoaptinstall-yzshchsh -s$(whichzsh)sh-c"$(curl-fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

推荐安装的插件:

  • zsh-autosuggestions:命令自动补全
  • zsh-syntax-highlighting:语法高亮

九、IDE 正确配置方式

对于IntelliJ IDEAWebStorm

  1. 安装WSL 插件
  2. 打开项目路径:\\wsl$\Ubuntu-22.04\home\<用户名>\projects

⚠️重要提示:不要打开/mnt/c路径下的文件,这会导致严重的性能问题。


十、配置完成后的能力

完成以上配置后,你的开发环境将具备以下特性:

  • ✅ 本地开发环境与 Linux 服务器高度一致
  • ✅ Docker 和 CI/CD 构建行为完全一致
  • ✅ Java 和 Vue 项目不再出现系统差异问题
  • ✅ 这套环境配置3-5 年不会过时

十一、后续优化方向

环境配置完成后,你可以继续优化以下方面:

  1. 构建Spring Boot + Vue + Docker Compose项目模板
  2. 配置IDEA / WebStorm与 WSL 的最佳实践
  3. 将现有项目Docker 化并优化 CI/CD 流程

总结

希望这篇指南能帮助你快速搭建起一套专业的全栈开发环境。如果在配置过程中遇到任何问题,欢迎留言交流!

关键词:WSL2、Ubuntu、Java、Vue3、Docker、全栈开发、开发环境配置

http://www.jsqmd.com/news/347228/

相关文章:

  • YOLO26改进 - C3k2 C3k2融合HMHA分层多头注意力机制:优化模型在复杂场景下的目标感知能力 CVPR 2025
  • YOLO26改进 - C2PSA C2PSA融合Mona多认知视觉适配器:打破全参数微调的性能枷锁:即插即用的提点神器 CVPR 2025
  • YOLO26 改进 - 注意力机制 Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 2025 预印
  • YOLO26 改进 - 注意力机制 轴向注意力Axial Attention(Axial Attention)优化高分辨率特征提取
  • 语言模型推理能力的认知负荷评估研究
  • YOLO26 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题
  • YOLO26 改进 - 注意力机制 DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力
  • AI时代的内容可见性新赛道:GEO推广的合规实践路径 - 品牌2025
  • YOLO26 改进 - 注意力机制 HaloNet 局部自注意力 (Local Self-Attention) 以分块交互策略实现高效全局上下文建模
  • 手机远控电脑核心性能榜,评选10款软件,画质的终极对决
  • 投币购买机极简案例 C
  • YOLO26 改进 - 注意力机制 IIA信息整合注意力(Information Integration Attention ):精准保留空间位置信息,平衡精度与计算成本 TGRS2025
  • AI的GEO推广应该怎么做? - 品牌2025
  • YOLO26 改进 - 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速
  • Spark学习 day6 - 呓语
  • YOLO26 改进 - 注意力机制 LRSA局部区域自注意力( Local-Region Self-Attention) 轻量级局部上下文建模弥补长程依赖细节不足 CVPR2025
  • YOLO26 改进 - 注意力机制 DCAFE双坐标注意力:并行坐标注意力 + 双池化融合
  • YOLO26 改进 - C2PSA C2PSA融合EDFFN高效判别频域前馈网络(CVPR 2025):频域筛选机制增强细节感知,优化复杂场景目标检测
  • YOLO26 改进 - C2PSA C2PSA融合MSLA多尺度线性注意力:并行多分支架构融合上下文语义,提升特征判别力 Arxiv2025
  • 网络工程开题报告 游泳馆管理系统
  • 豆包没有广告后台,企业该如何被“看见”?DoubaoAD.com 的差异化实践 - 品牌2025
  • 基于Spring Boot的家政保洁预约系统
  • 如何提升品牌在豆包中的可见性?DoubaoAD.com 的合规实践路径 - 品牌2025
  • 【机械臂路径规划】基于约束的增量拓展随机树CBiRRT算法实现机械臂机器人路径规划附Matlab复现和论文
  • 2026 : OI Exercises
  • MySQL 索引详解:从原理到实战优化
  • 怎样将浏览器真正完全切换到暗色模式?Firefox、Chrome、Edge
  • 价值投资中的择股技巧
  • Swinject 在移动端广告系统中的应用
  • 毕业设计任务书模板基于JSP的商品库存管理系统