如何在 macOS 上为 macOS 构建 ClickHouse
你不需要自己构建 ClickHouse!
你可以按照 Quick Start 中的说明安装预编译的 ClickHouse。
ClickHouse 可以在 macOS 10.15(Catalina)或更高版本上编译,支持 x86_64(Intel)和 arm64(Apple Silicon)架构。
作为编译器,仅支持使用通过 Homebrew 安装的 Clang。
安装前提条件
首先,请参阅通用的前提条件文档。
接下来,安装 Homebrew 并运行:
然后运行:
注意
Apple 默认使用不区分大小写的文件系统。虽然这通常不会影响编译(尤其是从头开始的 make 构建通常没问题),但可能会让像 git mv 这样的文件操作产生混淆。
在 macOS 上进行正式开发时,请确保源代码存放在区分大小写的磁盘卷上,例如参见这些说明。
构建 ClickHouse
构建时必须使用 Homebrew 的 Clang 编译器:
注意
如果在链接阶段遇到 ld: archive member '/' not a mach-o file in ... 错误,可能需要将标志 -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar 设置为使用 llvm-ar。
注意事项
如果您打算运行 clickhouse-server,请确保增大系统的 maxfiles 参数值。
注意
您需要使用 sudo 权限。
为此,请创建 /Library/LaunchDaemons/limit.maxfiles.plist 文件,并写入以下内容:
为该文件设置正确的权限:
验证文件是否正确:
加载文件(或重启):
要检查其是否生效,请使用 ulimit -n 或 launchctl limit maxfiles 命令。