> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 从源码编译 ClickHouse 或安装 CI 生成的二进制文件的说明

# 源码与 CI 构建

<div id="compile-from-source">
  ## 从源码编译
</div>

如需手动编译 ClickHouse，请按照 [Linux](/zh/resources/develop-contribute/build/build) 或 [macOS](/zh/resources/develop-contribute/build/build-osx) 的说明进行操作。

您可以编译并安装软件包，也可以在不安装软件包的情况下直接使用程序。

```xml theme={null}
Client: <build_directory>/programs/clickhouse-client
Server: <build_directory>/programs/clickhouse-server
```

你需要手动创建 data 和 metadata 文件夹，并使用 `chown` 将其所有者改为所需用户。它们的 path 可在 server 配置 (src/programs/server/config.xml) 中修改，默认如下：

```bash theme={null}
/var/lib/clickhouse/data/default/
/var/lib/clickhouse/metadata/default/
```

在 Gentoo 上，你只需运行 `emerge clickhouse`，即可从源码安装 ClickHouse。

<div id="install-a-ci-generated-binary">
  ## 安装 CI 生成的二进制文件
</div>

ClickHouse 的持续集成 (CI) 基础设施会为 [ClickHouse
代码仓库](https://github.com/clickhouse/clickhouse/) 中的每次提交生成专用构建，例如 [sanitized](https://github.com/google/sanitizers) 构建、未优化 (Debug)
构建、交叉编译构建等。虽然这类构建通常只在开发阶段才有用，但在某些情况下，你可能也会对它们感兴趣。

<Note>
  由于 ClickHouse 的 CI 会不断演进，下载 CI 生成构建的具体步骤可能会有所变化。
  此外，CI 也可能会删除旧的构建制品，导致其无法下载。
</Note>

例如，要下载 ClickHouse v23.4 的 aarch64 二进制文件，请按以下步骤操作：

* 找到 v23.4 发布版本对应的 GitHub 拉取请求：[23.4 分支的发布拉取请求](https://github.com/ClickHouse/ClickHouse/pull/49238)
* 点击“Commits”，然后点击一个类似于“Update autogenerated version to 23.4.2.1 and contributors”的提交，选择你要安装的具体版本。
* 点击绿色对勾 / 黄色圆点 / 红色叉号，打开 CI 检查列表。
* 点击列表中“Builds”旁边的“Details”；这会打开一个类似于[此页面](https://s3.amazonaws.com/clickhouse-test-reports/46793/b460eb70bf29b19eadd19a1f959b15d186705394/clickhouse_build_check/report.html)的页面。
* 找到 compiler = "clang-\*-aarch64" 的行——会有多行符合条件。
* 下载这些构建的制品。
