Ubuntu WSL2 安装后完整配置:换国内源、Python、Node.js、Git、VS Code、Docker 和网络路径问题
上一篇我们讲了 Windows 10 怎么安装 WSL2,也讲清楚了 WSL2 和 WSL1 的区别。装完以后,真正让新手头疼的往往不是“能不能打开 Ubuntu”,而是后面这一串问题:软件源太慢怎么办?Python、Node.js、Git 怎么装?VS Code 怎么连进去?Docker Desktop 怎么和 WSL2 配合?Windows 和 Linux 的文件路径到底怎么互相访问?
这篇就把这些问题集中讲清楚。
它不是一篇“装完就复制一堆命令”的清单,而是按实际使用顺序整理:先确认 WSL2 环境,再处理软件源和基础工具,接着配置开发环境,最后讲 Docker、网络和路径这些最容易卡人的地方。
如果你还没安装 WSL2,可以先看上一篇:Windows 10 安装 WSL2 教程:不是 WSL1,是真正能跑 Linux 的子系统。

一、先确认 Ubuntu 跑在 WSL2,不是 WSL1
正式配置之前,先在 Windows PowerShell 里执行:
wsl -l -v
正常应该看到类似结果:
NAME STATE VERSION
* Ubuntu Running 2
重点看 VERSION 这一列。如果是 2,说明当前 Ubuntu 已经跑在 WSL2 上。如果显示 1,执行:
wsl --set-version Ubuntu 2
这一步不要跳过。因为 Docker Desktop、Linux 内核兼容性、部分网络行为,都和 WSL2 有关。很多人后面遇到 Docker 不能用、教程不一致,最后发现自己还在 WSL1。
二、换国内软件源:先看 Ubuntu 版本,再改 sources
WSL2 的 Ubuntu 默认使用官方软件源。如果网络访问比较顺,其实可以不换。但国内网络环境下,sudo apt update 经常很慢,这时换国内源就有意义。
先查看 Ubuntu 版本:
lsb_release -a
你会看到类似:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Codename: jammy
最关键的是 Codename。常见版本代号:
- Ubuntu 20.04:
focal - Ubuntu 22.04:
jammy - Ubuntu 24.04:
noble
换源之前先备份:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
如果你是 Ubuntu 22.04,也就是 jammy,可以用清华源示例:
sudo tee /etc/apt/sources.list > /dev/null <<'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
EOF
然后更新:
sudo apt update
如果你是 Ubuntu 24.04,就把上面的 jammy 换成 noble。如果是 Ubuntu 20.04,就换成 focal。
如果换源后报错,先恢复备份:
sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt update
新手最容易犯的错,就是不看系统版本,直接复制别人的软件源。版本代号错了,短期看可能只是更新报错,长期看依赖会越来越乱。
三、更新系统并安装基础工具
软件源确认正常以后,先更新系统:
sudo apt update
sudo apt upgrade -y
然后安装常用基础工具:
sudo apt install -y curl wget git vim unzip zip net-tools ca-certificates gnupg lsb-release build-essential software-properties-common
这些工具后面会经常用到:
curl/wget:下载文件、请求接口。git:拉代码、管理版本。vim:命令行编辑文件。unzip/zip:压缩解压。net-tools:提供ifconfig等传统网络命令。ca-certificates/gnupg:添加第三方软件源时用。build-essential:编译依赖、安装部分 Python 包时会用。
装完以后,先试一下:
git --version
curl --version
vim --version
不用每个输出都看懂,只要命令能正常执行,就说明基础工具已经装上。
四、安装 Python:建议用 venv,不要污染系统环境
Ubuntu WSL2 很适合学习 Python、跑脚本、处理文件、调用 API。先安装 Python 基础包:
sudo apt install -y python3 python3-pip python3-venv
查看版本:
python3 --version
pip3 --version
建议每个项目都创建自己的虚拟环境。比如:
mkdir -p ~/projects/python-demo
cd ~/projects/python-demo
python3 -m venv .venv
source .venv/bin/activate
激活后,命令行前面一般会出现 (.venv)。
这时安装 Python 包:
pip install requests
退出虚拟环境:
deactivate
为什么建议用虚拟环境?因为 Python 项目之间依赖版本经常不一样。今天一个项目要新版库,明天另一个项目要旧版库,如果全都装到系统 Python 里,时间久了环境会变得很乱。
以后你跑 AI 工具、Agent 工具、数据脚本,看到 README 里写 python -m venv 或 pip install -r requirements.txt,就知道它在做什么了。
五、安装 Node.js:新手先简单,项目多了再上 nvm
Node.js 主要用于前端开发、命令行工具、很多 AI WebUI 和 Agent 工具链。
新手可以先用系统源安装:
sudo apt install -y nodejs npm
node -v
npm -v
如果只是学习、跑一些简单脚本,这样够用。
但如果你要跑较新的前端项目,Ubuntu 软件源里的 Node.js 版本可能偏旧。这时建议使用 nvm 管理 Node.js 版本。
安装 nvm 可以参考官方仓库命令。装好后常见用法是:
nvm install --lts
nvm use --lts
node -v
npm -v
这里有个建议:不要一上来就把 Node.js、npm、pnpm、yarn、nvm 全部装一遍。先看项目需要什么。项目 README 写 npm 就用 npm,写 pnpm 再装 pnpm。环境越简单,排错越容易。
六、配置 Git:用户名、邮箱和 SSH Key
Git 已经在基础工具里装过了。接下来配置用户名和邮箱:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
查看配置:
git config --global --list
如果你要连接 GitHub、GitLab、Gitea 或自己的代码仓库,建议配置 SSH Key:
ssh-keygen -t ed25519 -C "你的邮箱"
一路回车即可。生成后查看公钥:
cat ~/.ssh/id_ed25519.pub
把这段公钥添加到 Git 平台的 SSH Keys 里。
测试 GitHub 连接可以用:
ssh -T [email protected]
如果提示成功认证,说明 SSH Key 配好了。
如果网络不通,先不要急着改一堆代理配置。先确认 Windows 本身能不能访问 GitHub,再确认 WSL2 里能不能访问:
curl -I https://github.com
七、VS Code 连接 WSL2:Windows 写代码,Linux 跑环境
VS Code + WSL2 是 Windows 用户最舒服的 Linux 开发方式之一。
先在 Windows 里安装 VS Code,然后在扩展市场安装:
WSL- 或者
Remote Development
接着打开 Ubuntu WSL2,创建项目目录:
mkdir -p ~/projects/wsl-demo
cd ~/projects/wsl-demo
code .
第一次执行 code .,VS Code 会自动在 WSL2 里安装服务端组件。装完后,VS Code 左下角会显示类似 WSL: Ubuntu。
这意味着:
- VS Code 窗口运行在 Windows 上。
- 终端和项目环境运行在 Ubuntu WSL2 里。
- 你安装的 Python、Node.js、Git 都是 Linux 里的。
这个模式很适合开发,因为你不用把所有依赖装到 Windows 原生环境,也不用开一个完整虚拟机。
如果 code . 提示找不到命令,可以在 VS Code 里执行:
命令面板 -> Shell Command: Install 'code' command in PATH
或者直接从 VS Code 左下角的远程窗口按钮进入 WSL。
八、Docker Desktop 配置:让 Windows 和 WSL2 配合跑容器
Docker Desktop 在 Windows 上推荐使用 WSL2 backend。
安装思路如下:
- Windows 安装 Docker Desktop。
- 打开 Docker Desktop 设置。
- 在 General 里确认启用 WSL2 based engine。
- 在 Resources -> WSL Integration 里启用你的 Ubuntu。
- 回到 Ubuntu WSL2 里测试:
docker version
docker ps
如果能正常输出,说明 WSL2 里可以调用 Docker。
再跑一个测试容器:
docker run hello-world
如果你要跑 MySQL、Redis、Nginx、WordPress 这类服务,建议用 Docker Compose。比如创建一个 compose.yaml,再执行:
docker compose up -d
新手要注意三个点:
第一,Docker Desktop 本身会占内存。如果电脑只有 8GB 内存,不要同时开太多容器。
第二,项目文件建议放在 WSL2 的 ~/projects 下,不要放在 Windows C 盘再让容器频繁读写。
第三,容器端口如果 Windows 浏览器打不开,先查容器状态:
docker ps
确认端口映射是否存在,比如 0.0.0.0:8080->80/tcp。
九、WSL2 网络问题:localhost、端口和局域网访问
在 WSL2 里启动一个服务,Windows 浏览器通常可以通过 localhost 访问。
比如在 Ubuntu 里执行:
python3 -m http.server 8000
然后 Windows 浏览器打开:
http://localhost:8000
一般就能看到页面。
如果打不开,按这个顺序排查:
- 服务是否真的启动了。
- 端口是否写对。
- 服务是否监听
127.0.0.1或0.0.0.0。 - Windows 防火墙是否拦截。
- WSL2 是否需要重启。
在 WSL2 里可以查看监听端口:
ss -tulnp
如果命令没有,可以安装:
sudo apt install -y iproute2
如果服务状态很奇怪,可以在 Windows PowerShell 里执行:
wsl --shutdown
然后重新打开 Ubuntu。
局域网其他设备访问 WSL2 服务会更麻烦一些,因为 WSL2 有自己的虚拟网络。新手阶段建议先保证 Windows 本机能通过 localhost 访问。等本机跑通后,再考虑端口转发和防火墙规则。
十、WSL2 文件路径:项目放哪里最合适?
这是 WSL2 新手最容易踩坑的地方。
Windows 的 C 盘在 WSL2 里一般是:
/mnt/c
比如 Windows 桌面:
/mnt/c/Users/你的Windows用户名/Desktop
WSL2 的 Ubuntu 文件,在 Windows 资源管理器里可以通过:
wsl$Ubuntu
访问。
比如你的 Linux 用户目录可能是:
wsl$Ubuntuhome你的Linux用户名
建议记住这个原则:
- 开发项目放在 WSL2 的
~/projects。 - 临时互传文件可以放 Windows 桌面或下载目录。
- 不要把大型 Node.js 项目、Python 虚拟环境、Git 仓库长期放在
/mnt/c下跑。
为什么?因为 /mnt/c 是 Windows 文件系统挂载进来的,权限、性能、换行符、符号链接行为都可能和 Linux 原生目录不一样。小文件临时处理问题不大,长期开发项目还是放在 WSL2 自己的 home 目录更稳。
十一、几个常用维护命令
查看已安装发行版:
wsl -l -v
关闭所有 WSL 环境:
wsl --shutdown
更新 WSL:
wsl --update
进入指定发行版:
wsl -d Ubuntu
Ubuntu 内更新软件:
sudo apt update && sudo apt upgrade -y
查看磁盘空间:
df -h
查看当前目录占用:
du -sh ./*
总结
Ubuntu WSL2 装完以后,真正要做的是把它整理成一个稳定的开发和学习环境。
先换好软件源或确认官方源能用,再安装 Python、Node.js、Git 这些基础工具;然后用 VS Code Remote WSL 连接进去写代码;需要跑服务时,再接入 Docker Desktop;遇到打不开页面、路径混乱、文件权限问题时,先从 WSL2 的网络和文件系统关系去排查。
对 Windows 10 用户来说,WSL2 的价值就在这里:你不用放弃 Windows 的桌面生态,又能拥有接近真实 Linux 的开发环境。把这篇里的基础配置做完,后面再学 Docker、服务器运维、AI 工具链和 Agent 项目,就会顺很多。
下期预告
下一篇继续看:Windows 10 WSL2 + Docker Desktop 入门:新手怎么跑第一个容器。
会重点讲:Docker Desktop 和 WSL2 是什么关系、怎么确认 Ubuntu 里能调用 docker、怎么跑 MySQL/Redis/Nginx、容器数据应该放哪里,以及新手最容易踩的端口和权限问题。
*本文由 数码罗记 · godsun.pro 整理。*