Windows 10 配置 WSL
什么是 WSL1?
适用于 Linux 的 Windows 子系统 (WSL) 可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。
什么是WSL2?
WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。
这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。
单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。
WSL可以做什么
- 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。
- 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制-文 件。
- 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
- 工具:vim、emacs、tmux
- 语言:NodeJS、Javascript、Python、Ruby、C/C++、C# 与 F#、Rust、Go等
- 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
- 使用自己的 GNU/Linux 分发包管理器安装其他软件。
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
- 在 Windows 上调用 GNU/Linux 应用程序。
Windows 10提供了一键安装命令 如无法一键安装,请参考下面的手动安装命令
自动安装命令
wsl --install
然后重启并更新内核
wsl --update
调整默认的非稳定Ubuntu为稳定20.04LTS版本
wsl --install -d Ubuntu-20.04
手动安装必要条件
- 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
- Windows 控制面板 - 程序和功能 - 启用或关闭Windows功能 - 适用于Linux的Windows子系统
- Windows 控制面板 - 程序和功能 - 启用或关闭Windows功能 - Hyper-V
手动安装流程
首先,列出所有的可安装Linux发行版
wsl --list --online
以下是所有的可安装Linux发行版
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
安装指定的Linux发行版
wsl --install --distribution <Distribution Name>
以 Ubuntu20.04LTS 为例子
wsl --install --distribution Ubuntu-20.04
等待安装完成
查看正在运行WSL版本
wsl -l -v
由于默认版本为WSL1
NAME STATE VERSION
* Ubuntu-20.04 Running 1
设置默认WSL版本的命令
wsl --set-default-version <Version>
切换WSL版本命令
wsl --set-version <distribution name> <versionNumber>
从WSL1切换WSL2切换时可能要求下载并安装更新
下载的更新的文件名应该是
wsl_update_x64.msi
切换完成以后更新WSL
wsl --update
下载更新完毕以后会要去关闭WSL
wsl --shutdown
到此为止,手动安装流程结束
在 Visual Studio Code 使用 WSL2进行开发
安装 Remote - WSL
打开 Windows Terminal 的 PowerShell 输入
code .
此时会调起 Visual Studio Code 并链接你的 Ubuntu20.04LTS
解决关于WSL的网络问题
打开 Clash 或 V2rayNg 的 允许局域网选项与Http代理(Clash无需选择此项)
查看 Windows 10 任务管理器的网络界面会找到一个由Hy虚拟的网络,查看他的IPV4 地址
Ubuntu子系统可以使用命令查看DNS 地址来获取宿主机的IP 从而设置Proxy
cat /etc/resolv.conf
在Wsl/Visual Studio Code的终端输入
export ALL_PROXY="http://IP:port"
此时此代理在本终端生效
在 Wsl 上安装nvm并安装Node LTS版本
安装Curl
sudo apt-get install curl
关闭 Windows Terminal 并重新打开,验证安装 nvm
command -v nvm
使用 nvm 安装 Nodejs 稳定LTS版本
nvm install --lts
验证Nodejs版本
node -v
验证Npm包管理器版本
npm -v