Clion+WSL实现cmu15445环境配置
本配置的总体思路按照官方文档进行–目标是配置clion+wsl的full remote mode。
前置条件:wsl2
本机环境:win11 + ubuntu20.04(wsl)
1 项目配置
在本章节我们首先按照bustub的github,在wsl上下载项目。
具体细节根据官网文档进行,当走完这一套后,我们在wsl已经有了bustub项目,并且由于运行了packages.sh,我们在wsl上已经配置了项目需要的工具链。
$ git clone --bare https://github.com/cmu-db/bustub.git bustub-public
$ cd bustub-public
# If you pull / push over HTTPS
$ git push https://github.com/student/bustub-private.git master
# If you pull / push over SSH
$ git push git@github.com:student/bustub-private.git master
$ cd ..
$ rm -rf bustub-public
# Linux
$ sudo build_support/packages.sh
# macOS
$ build_support/packages.sh
$ mkdir build
$ cd build
$ cmake ..
$ make
2 WSL ssh配置
由于在默认配置下,我们无法通过ssh来访问WSL,而CLion的远程模式需要通过ssh连接wsl,所以我们要进行一些配置。如果权限不够,前面加sudo
- 编辑
/etc/ssh/sshd_config
文件- 该文件是只读文件,因此需要在当前目录下chomod 777 sshd_config
- 修改部分命令(即映射端口,允许所有主机访问,允许密码登录,运行远程root用户登录):
- Port 2222
- ListenAddress 0.0.0.0
- PasswordAuthentication yes
- PermitRootLogin yes
- 重启ssh服务:service ssh restart
- 如果遇到no hostkeys报错,则首先执行:ssh-keygen -A
到该步后,我们已经可以通过ssh访问wsl了
3 Clion配置
这部分我们也是主要follow官网的指令:
Clion官网文档:https://www.jetbrains.com/help/clion/2022.2/remote-projects-support.html
将wsl配置移到默认位置,并且检测是否能够识别到。
配置cmake相关信息。
之后是最主要的一部,在deployment中映射文件目录。
我们在deployment中输入属于自己的wsl对应信息即可。
这样我们就实现了远程模式,即两边文件可以同步,本地打代码,远程工具链执行。
我们只要在本地新建一个空文件,然后从wsl中把第一步下载好的代码传输过来即可。
4 总结
上述的讲解有些简陋,并没有把每一步都讲到,遇到一些问题可以自行google以下,我相信需要配置这个的同学应该是有一定基础的。
载好的代码传输过来即可。