介绍
不晓得有多少兄弟遇见过和我类似的情况:在Linux下完美运行的各类依赖换到Windows下疯狂报错
为了解决这个麻烦linux切换到windows,笔者详尽研究了怎样在Windows下使用WSL和VsCode进行开发,并踩过一些坑洞
特写此篇文章进行总结记录
先列出下后置需求:
Windows机器支持WSL了解Linux基础操作会使用VsCode安装配置过程开启Windows相关功能
控制面板->程序和功能->启用或关掉Windows功能linux解压命令,勾选如下内容:

将WSL版本从1升级至2
下载谷歌官方升级包

假如链接失效请直接去官网查询
安装完成后,设置WSL默认版本:wsl--set-default-version2
安装Linux子系统
打开谷歌商店,搜索Ubuntulinux切换到windows,笔者建议使用LTS常年支持版本
操作十分傻蛋,直接安装即可
检测Linux的WSL内核并迁移

使用命令wsl-l-v查看Linux信息:

假如VERSION为1,且确定已升级WSL2内核,使用命令wsl--set-versionUbuntu-20.042进行更改
在谷歌商店安装的Ubuntulinux服务器代维,默认路径为C盘,这是我们非常不甘愿听到的
使用LxRunOffline工具迁移
在Github主页的releases中下载LxRunOffline-vX.X.X-msvc.zip,解压后在目录运行cmd:
LxRunOffline.exe move -n Ubuntu-20.04 -d D:WSLUbuntu-20.04
切换软件源

完成Windows打算工作后,步入linux系统
国外访问内网速率难料,所以我们先要把软件源切换为北大,官方地址为/help/ubuntu…
根据文档更改配置文件即可,记得备份
切换完成后刷新资源并进行软件更新:
sudo apt-get update
sudo apt-get upgrade
使用Vscode进行编码
在Linux安装后的初始化,我们设置了一个默认用户
在开始编码前,我们须要将代码目录的所有者更改为默认用户,否则会有权限问题:
sudo chown -R User project
接出来为VsCode安装插件RemoteDevelopment
最后步入代码目录,只须要使用命令code.即可手动打开VsCode
环境变量的坑
默认情况下,Windows和WSL的环境变量和文件是互通的,这样对于nodejs或npm的使用会出现问题
笔者暂时采取的解决方案是关掉互通,创建/etc/wsl.conf:
[interop]
enabled=false
appendWindowsPath=false
然后关掉Linux,在Windows中使用管理员权限的PowerShell重启服务:
net stop LxssManager
net start LxssManager
注意,关掉互通后难以使用code.手动打开VsCode
