CLion配置远程服务器,本地同步云端
笔者也是边学边配,随时更新,欢迎大家讨论交流
首先CLion是支持直接SSH打开云端服务器的,类似于vscode,但mentor说那样在没网的时候没法查看代码,而且即使这样CLion也会拉下来一份代码,只是不知道存在哪,不可控,所以采用同步的方式
Tips:
- 用远端的Toolchains记得把他移到最上面设为
default
,需要自动上传云端的记得在CLion下面配置好default server
- CLion是智能编译,即使你改了一小块地方也可以放心
rebuild
,他应该会检查哪些没变,大大减小重新编译的时间
-
问题1
本地和远程同步,远程上的一些库或者提前编译好的文件,本地怎么处理?clion 一般将远程的相关头文件缓存至本地,方式为先将缓存打成tar包然后下载到本地解析,所以其实可以在本地找到
.remote
的一些包,在系统盘,你在本地直接Ctrl+Click
其实就是引用到这里的包。目前我还不知道怎么更改这个默认的下载路径 -
问题2
有一些我本地和远程的同名文件,明明勾选了自动upload,但是还是会出现版本不一致,文件具体内容有差别的情况原因不明,但是应该可以通过
Tools
->Resync with Remote Host
强制的同步。包括有一些云端的包,我不小心手贱在本地删除了,也可以这样把远端的再拉下来
但是这样的同步好像应该以本地为标准,我这里会拉远端的包应该是我git
版本控制或其他设定的原因? -
问题3
我需要连接远程主机上的容器,明明在Toolchains
中配置了Enviroment File
,例如root/setup.sh
,但是从CLion的终端中直接连这个容器,并没有默认Source setup.sh
这个操作,必须我手动执行一次才可以
或者我从服务器中docker exec...
也可以配置好,很奇怪,目前不知道原因。。。 -
问题4
为什么我开启Remote Host
想看远端的目录,有的时候打不开呢,必须close project
再打开才可以。。 -
问题5
一个git的问题,我配置好了SSH,但是git pull
默认是按照https
方式拉取,由于我这里https
配置的有问题(可能是第一次输入账户密码有问题,然后保存在本地了,之后没法再用),我就需要用SSH的方式来pull
git remote set-url origin git@<host>:<username>/<repository>.git
-
问题6
reload cmake
是在更改cmakelists,改变项目构建,添加了源文件,修改了关系后需要做的,与Resync with Remote Host
不是一个层面的意思,当然reload cmake
也是会自动上传的(如果配置了的话) -
问题7
磁盘空间问题:由于申请的是云主机,系统盘很小,一定要考虑清楚你要把容器或者数据放在哪里,一开始我没看直接放在了/home
下,结果df -h
一看,是系统盘,导致容器里编译的时候报错显示空间不够直接kill -9
了
一定考虑好安装位置!!!