Skip to main content
Este guia de compilação é destinado a colaboradores que modificam o próprio ClickHouse.Se você não estiver alterando o código-fonte do ClickHouse, poderá instalar uma versão pré-compilada do ClickHouse conforme descrito em Quick Start.
O ClickHouse pode ser compilado em macOS x86_64 (Intel) e arm64 (Apple Silicon) no macOS 10.15 (Catalina) ou superior. Como compilador, há suporte apenas ao Clang do Homebrew.

Instale os pré-requisitos

Primeiro, consulte a documentação geral de pré-requisitos. Em seguida, instale o Homebrew e execute Depois, execute:
Assim como o llvm, o rustup do Homebrew é keg-only, portanto seu diretório bin não é adicionado automaticamente ao PATH. Exporte-o da mesma forma que o PATH do llvm é exportado em Compilar o ClickHouse:
O ClickHouse também fixa a versão da toolchain do Rust usada pelo módulo contrib corrosion. Instale-a e selecione-a seguindo a seção Instalar o compilador Rust do guia de compilação para Linux. Caso contrário, o cmake falhará no módulo contrib corrosion com o erro Cannot find nightly-<date> Rust toolchain.
A Apple usa, por padrão, um sistema de arquivos que não diferencia maiúsculas de minúsculas. Embora isso normalmente não afete a compilação (especialmente compilações do zero), pode atrapalhar operações com arquivos, como git mv. Para desenvolvimento sério no macOS, certifique-se de que o código-fonte esteja armazenado em um volume de disco que diferencie maiúsculas de minúsculas; por exemplo, consulte estas instruções.

Compile o ClickHouse

Para compilar, é necessário usar o compilador Clang do Homebrew:
Um simples brew install llvm sempre instala o lançamento mais recente do LLVM disponível no Homebrew, que pode ser mais novo do que a versão do Clang fixada para as compilações de CI e Linux (consulte Instalar o compilador Clang). Um Clang mais novo pode habilitar diagnósticos de -Weverything que ainda não são suprimidos na compilação, fazendo-a falhar com -Werror. Se isso acontecer, em vez de desabilitar os avisos, instale a versão principal fixada, por exemplo, por meio de uma fórmula versionada (brew install llvm@<version>), caso o Homebrew ainda a disponibilize.
Se você estiver recebendo erros ld: archive member '/' not a mach-o file in ... durante a etapa de vinculação, talvez seja necessário usar o llvm-ar definindo a flag -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar.

Observações

Se você pretende executar o clickhouse-server, aumente a variável maxfiles do sistema.
Você precisará usar sudo.
Para isso, crie o arquivo /Library/LaunchDaemons/limit.maxfiles.plist com o seguinte conteúdo:
Defina as permissões corretas para o arquivo:
Verifique se o arquivo está correto:
Carregue o arquivo (ou reinicie):
Para verificar se está funcionando, use os comandos ulimit -n ou launchctl limit maxfiles.