WSL2配置开发环境
目录
序
密码找到了。
更新IDEA 2021.1的时候发现新增了对WSL2的支持,萌生了把环境全部搬到WSL2的想法。
WSL2的优缺点
优点:配置简单,可以用yum/apt管理环境和依赖。
缺点:由于WSL2基于虚拟化,存在一定的性能损失。
WSL2的安装
打开Windows控制面板-程序-启用或关闭Windows功能。
启用以下两项:
- 适用于Linux的Windows子系统
- 虚拟机平台
确定后重启,重启后在微软商店找到想要的发行版,下文以Ubuntu为例。
安装完成后打开应用,等候片刻后设置用户名和密码。
此时打开powershell,输入wsl -l -v
,若版本为2则继续。如版本为1,(以Ubuntu发行版为例),则输入wsl --set-version Ubuntu 2
以使用WSL2。
Windows Terminal
应用自带的命令行比较丑,如果想要个好看的可以自定义的命令行可以尝试Windows Terminal,可以用json配置,具体参考官方文档。我就改了个配色,没有深究。
C/C++环境配置
也许这是我最熟练的Linux命令(逃)
sudo apt update
sudo apt upgrade
sudo apt install -y gcc g++ cmake
Nodejs环境配置(以hexo为例)
我有个hexo博客挂在github上,在win上最大的不适是powershell不允许运行hexo,每次都要切到git bash。
sudo apt install npm
sudo npm install -g hexo
每次写完之后运行:
hexo clean
hexo generate
hexo deploy
(WSL2跑这个是真的慢,也不知道为啥)
JDK配置(以1.8为例)
sudo apt install openjdk-8-jdk-headless
会自动把jre也装上。
数据库配置(以MySQL8为例)
关于更多数据库的内容,请看官方文档
# 安装mysql
sudo apt install mysql-server
# 启动mysql,也可以使用:
# service mysql start
sudo /etc/init.d/mysql start
# 设置mysql
sudo mysql_secure_installation
因为8.0版本的加密方法不同于5.7,所以在用navicat等工具之前需要一步额外的设置,参考解决方案。最后用法跟装在win上是一样的。需要注意的是每次开机/重启都需要手动启动MySQL。
在VS Code中使用
安装一个名为Remote-WSL的插件,即可在WSL2环境上运行VSCode,还能针对WSL安装插件,针不戳。也可以用WSL打开win目录,会发现C盘是挂载在/mnt/下的。
在IDEA中使用
打开任意项目,发现找不到SDK。(说好的支持呢?)
进入SDK页面,可以找到WSL下的JDK,添加完OK就能用了。
总结
WSL2在发展了一段时间后,有越来越多的工具支持(其实最关键的是这是win家庭版运行Docker的唯一途径)。把所有环境都交给Linux下的包管理工具来管理不失为一种省心的做法。