跳到主要内容
版本:1.0.x

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

编译ByConity

执行cmake run的目录,编译好的文件在 ${BYCONITY_SOURCE}/build_dev/program the directory where cmake runs

配置vscode

编译构建后,可以开始vscode的环境配置,具体步骤:

  1. 安装dev container插件

Install dev container

  1. 连接到docker容器

Docker container connection

  1. 解决头文件的问题
  • 即使上面的编译过程中没有出错 vscode 也会报红提示找不到头文件,不用担心,它只是需要一些时间来识别头文件。

Header file cannot be found problems

  1. 完成环境搭建 fixed problems with header files not being found