Saltar al contenido principal
Esta guía de compilación está dirigida a colaboradores que modifican el propio ClickHouse.Si no va a modificar el código fuente de ClickHouse, puede instalar una versión precompilada de ClickHouse como se describe en Quick Start.
ClickHouse puede compilarse en macOS x86_64 (Intel) y arm64 (Apple Silicon) con macOS 10.15 (Catalina) o superior. Como compilador, solo se admite Clang de Homebrew.

Instalar los requisitos previos

Primero, consulta la documentación general sobre los requisitos previos. A continuación, instala Homebrew y ejecuta Luego, ejecuta:
brew update
brew install ccache cmake ninja libtool gettext llvm lld binutils grep findutils nasm bash rust rustup
Apple usa de forma predeterminada un sistema de archivos que no distingue entre mayúsculas y minúsculas. Aunque esto normalmente no afecta a la compilación (sobre todo, las compilaciones desde cero funcionarán), puede causar problemas en operaciones con archivos como git mv. Para trabajar seriamente en desarrollo en macOS, asegúrate de que el código fuente esté almacenado en un volumen de disco que sí distinga entre mayúsculas y minúsculas; por ejemplo, consulta estas instrucciones.

Compilar ClickHouse

Para compilarlo, debe usar el compilador Clang de Homebrew:
cd ClickHouse
mkdir build
export PATH=$(brew --prefix llvm)/bin:$PATH
cmake -S . -B build
cmake --build build
# El binario resultante se creará en: build/programs/clickhouse
Si se encuentra con errores ld: archive member '/' not a mach-o file in ... durante el enlazado, es posible que necesite usar llvm-ar estableciendo la opción -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar.

Consideraciones

Si tiene previsto ejecutar clickhouse-server, asegúrese de aumentar la variable maxfiles del sistema.
Tendrá que usar sudo.
Para ello, cree el archivo /Library/LaunchDaemons/limit.maxfiles.plist con el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>limit.maxfiles</string>
    <key>ProgramArguments</key>
    <array>
      <string>launchctl</string>
      <string>limit</string>
      <string>maxfiles</string>
      <string>524288</string>
      <string>524288</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>ServiceIPC</key>
    <false/>
  </dict>
</plist>
Asigna al archivo los permisos adecuados:
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
Verifique que el archivo sea correcto:
plutil /Library/LaunchDaemons/limit.maxfiles.plist
Recargue el archivo (o reinicie):
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
Para comprobar que funciona, usa los comandos ulimit -n o launchctl limit maxfiles.
Última modificación el 10 de junio de 2026