前言
随着前端技术的迅猛发展,越来越多的开发者转向了使用现代化的前端框架和工具来构建用户界面。在这个过程中,开发者们通常需要与后端服务进行交互,并在本地环境中进行开发和调试。为了提高开发效率,很多前端开发者选择在本地机器上搭建一个与生产环境相似的开发环境。在这个背景下,Windows Subsystem for Linux(WSL)成为了一个备受欢迎的工具,可以方便地在 Windows 操作系统上运行 Linux 环境。
什么是 WSL?
WSL 是由 Microsoft 推出的一个子系统,允许在 Windows 操作系统上运行本地 Linux 发行版。它提供了一个与 Linux 内核兼容的用户空间环境,使得开发者可以在 Windows 上使用 Linux 命令行工具、脚本和应用程序。WSL 提供了两个主要版本,WSL 1 和 WSL 2,其中 WSL 2 使用了全新的架构,提供更高的性能和更好的兼容性。
WSL 与前端开发的结合
1. 开发环境一致性
前端开发通常涉及到不同的工具链和依赖项,而这些工具在 Windows 和 Linux 上的行为可能会有所不同。通过在 Windows 上使用 WSL,开发者可以获得与生产环境一致的 Linux 开发环境,确保开发和调试时不会出现由于环境差异引起的问题。
2. 使用 Linux 工具
许多前端开发者熟悉并喜欢使用的工具和脚本在 Linux 环境下更为流行。通过在 WSL 中运行这些工具,开发者可以无缝地集成它们到其工作流程中,提高效率。
3. Docker 支持
容器化在现代开发中变得越来越普遍,而 Docker 是其中的主要工具之一。WSL 2 与 Docker 集成得非常好,使得开发者可以在 Windows 上方便地构建、运行和调试容器化的应用程序,而无需安装额外的虚拟机。
4. 跨平台开发
许多前端项目要求在不同的操作系统上进行测试和部署。使用 WSL,开发者可以在 Windows 上本地进行开发,然后轻松地切换到其他平台,如 macOS 或 Linux,进行进一步的测试和部署。
Win11安装WSL2
输入命令列出可用的 Linux 发行版
wsl --list --online
现在,可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install -d Ubuntu 命令。
wsl --install -d Ubuntu
此过程会提示你输入wsl的账号和密码,根据提示操作即可。安装完成之后在开始界面搜索一下Ubuntu启动即可。
点击Ubuntu,输入刚刚的账号密码就可以轻松的在windows11环境下使用linux啦。
配置WSL
一、使用apt清华源
/etc/apt/sources.list
更改为以下值
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src 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-src 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-src 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
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
更新镜像源和所有包:
sudo apt update
sudo apt upgrade
二、配置和windows共享IP和端口号,强烈建议,无缝开发
需要至少 Windows 11 23H2 ,目前还没有发布正式版本,不过可以考虑加入 Insider 的 Release Preview 或者 Beta 通道,更新系统之后运行 wsl --update --pre-release 升级 WSL ,然后就可以在 %userprofile%.wslconfig 里面设置以下内容:
[experimental]
autoMemoryReclaim=gradual # 可以在 gradual 、dropcache 、disabled 之间选择
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
然后你会发现,WSL2 和 Windows 主机的网络互通而且 IP 地址相同了,还支持 IPv6 了,并且从外部(比如局域网)可以同时访问 WSL2 和 Windows 的网络。这波升级彻底带回以前 WSL1 那时候的无缝网络体验了,并且 Windows 防火墙也能过滤 WSL 里的包了,再也不需要什么桥接网卡、端口转发之类的操作了。
三、共享和某猫的上网方式开启访问google
编辑profile
sudo vim ~/.profile
在末尾写入以下信息
# set proxy
proxy=http://127.0.0.1:7890
export http_proxy=$proxy
export https_proxy=$proxy
export all_proxy=$proxy
export ALL_PROXY=$proxy
export no_proxy="localhost,127.0.0.1"
配置以上二、三点记得执行reboot命令重启wsl以生效。后续安装nvm等组件就看官方文档自己安装啦。