ByConity 开发环境设置
我们的开发人员通过借助 VS code 中的一个叫做 Dev Container 的插件来连接到运行在虚拟机上的 Debian 11 开发环境。所以我们也建议你用同样的方式来开发,这样能避免很多依赖和兼容的问题。了解更多可参考: official dev set。
启动 dev-env 镜像
首先
git clone https://github.com/ByConity/ByConity.git
# 注意要先进入到这个目录下
cd byconity/docker/debian/dev-env
# 获取最新的镜像
make pull
# 启动容器
make run
进入容器之后,先编译一下 Byconity 源码。这样做的目的就是让 vscode 能够正确识别并关联一下头文件。避免后续在 vscode 中调试时报很多头文件找不到的错误。下面是具体命令:
# 镜像中没有子模块,还需要手动把子模块都下到自己电脑上。确保自己网络通畅,并耐心等待。这个命令是在容器的根目录下执行的,就是刚进去时所在目录执行的,不需要切换目录。
git submodule update --init --recursive
# 生成一下编译要用的中间文件
cmake -S /root/ByConity -B build_dev
# 最后面2的含义是使用2个并行任务进行编译,需要根据自己机器资源调整,建议用内存大小除以4,如8g内存就用2个并行任务编译。
ninja -C build_dev clickhouse-server -j 2
- 执行 cmake run 的目录
编译好的文件在 ${BYCONITY_SOURCE}/build_dev/program
配置 vscode
顺利编译通过后,就可以配置 vscode 的开发调试环境了
安装 dev container 插件
在 vscode 中开发
连接到 docker 容器
找不到头文件的问题
- 即使上面的编译过程中没有出错 vscode 也会报红提示找不到头文件,不用担心,它只是需要一些时间来识别头文件。
- vscode 环境搭建完成