介绍

不晓得有多少兄弟遇见过和我类似的情况:在Linux下完美运行的各类依赖换到Windows下疯狂报错

为了解决这个麻烦linux切换到windows,笔者详尽研究了怎样在Windows下使用WSL和VsCode进行开发,并踩过一些坑洞

特写此篇文章进行总结记录

先列出下后置需求:

Windows机器支持WSL了解Linux基础操作会使用VsCode安装配置过程开启Windows相关功能

控制面板->程序和功能->启用或关掉Windows功能linux解压命令,勾选如下内容:

image.png

将WSL版本从1升级至2

下载谷歌官方升级包

解决windows下wsl报错问题_windows下使用wsl和vscode进行开发_linux切换到windows

假如链接失效请直接去官网查询

安装完成后,设置WSL默认版本:wsl--set-default-version2

安装Linux子系统

打开谷歌商店,搜索Ubuntulinux切换到windows,笔者建议使用LTS常年支持版本

操作十分傻蛋,直接安装即可

检测Linux的WSL内核并迁移

windows下使用wsl和vscode进行开发_解决windows下wsl报错问题_linux切换到windows

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

image.png

假如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下使用wsl和vscode进行开发_linux切换到windows_解决windows下wsl报错问题

完成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

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复