news 2026/6/9 22:06:52

WSL2 完整开发环境配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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、全栈开发、开发环境配置

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 11:47:23

Swinject 在移动端广告系统中的应用

Swinject 在移动端广告系统中的应用关键词&#xff1a;Swinject、移动端广告系统、依赖注入、组件化、解耦摘要&#xff1a;本文主要探讨了 Swinject 在移动端广告系统中的应用。首先介绍了 Swinject 的背景知识&#xff0c;包括其核心概念和工作原理。接着通过具体的代码示例&…

作者头像 李华
网站建设 2026/5/31 6:02:50

视觉检测中的数字光纤放大器的核心参数和调整

在当今快速发展的工业自动化领域&#xff0c;机器视觉系统已成为质量控制、自动化生产和智能检测的关键技术。根据国际机器人联合会&#xff08;IFR&#xff09;2024年发布的《全球工业自动化报告》&#xff0c;全球机器视觉市场规模预计在2025年达到180亿美元&#xff0c;年复…

作者头像 李华
网站建设 2026/6/8 21:20:09

【通信】基于DPCM编码及2DPSK调制数字频带通信系统Matlab仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/6/4 8:07:26

【信号调制】使用不同的分类器(逻辑回归分类器、决策树、随机森林、全连接密集层和CNN)来训练模型,以预测不同信噪比值下信号的调制类型附Python代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/5/23 15:34:42

【修正-高斯拉普拉斯滤波器-用于平滑和去噪】基于修正高斯滤波拉普拉斯地震到达时间自动检测研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华