Skip to main content
このビルドガイドは、ClickHouse 本体を変更するコントリビューター向けです。ClickHouse のソースコードを変更しない場合は、クイックスタート にある手順に従って、ビルド済みの ClickHouse をインストールできます。
ClickHouse は、macOS 10.15 (Catalina) 以降の macOS x86_64 (Intel) および arm64 (Apple Silicon) でコンパイルできます。 コンパイラとしてサポートされているのは、homebrew の Clang のみです。

前提条件を準備する

まず、一般的な前提条件に関するドキュメントを参照してください。 次に、Homebrewをインストールし、次を実行します 続いて、以下を実行します:
llvm と同様に、Homebrew の rustup は keg-only であるため、その bin ディレクトリは PATH に自動では追加されません。ClickHouse をビルドするで llvm の PATH をエクスポートしたのと同じ方法でエクスポートしてください:
また ClickHouse では、corrosion contrib モジュールで使用する Rust ツールチェーンのバージョンが固定されています。Linux ビルドガイドのRust コンパイラをインストールするセクションの手順に従って、このツールチェーンをインストールし、選択してください。この手順を行わないと、cmake が corrosion contrib モジュールの処理で Cannot find nightly-<date> Rust toolchain というエラーを出して失敗します。
Apple ではデフォルトで、大文字と小文字を区別しないファイルシステムが使われます。通常、これはコンパイルには影響しません (特に scratch ビルドは動作します) が、git mv のようなファイル操作では問題を引き起こすことがあります。 macOS で本格的に開発する場合は、ソースコードを大文字と小文字を区別するディスクボリュームに保存してください。たとえば、こちらの手順を参照してください。

ClickHouse をビルドする

ビルドするには、Homebrew の Clang コンパイラを使用する必要があります。
単に brew install llvm を実行すると、常に Homebrew の最新の LLVM リリースがインストールされます。このバージョンは、CI および Linux のビルドで固定されている Clang のバージョンより新しい場合があります (Clang コンパイラのインストールを参照) 。新しい Clang では、ビルドでまだ抑制されていない -Weverything の診断が有効になり、-Werror によってビルドが失敗することがあります。その場合は、警告を無効化するのではなく、固定されたメジャーバージョンをインストールしてください。たとえば Homebrew でまだ提供されていれば、バージョン付きの formula (brew install llvm@<version>) を使用できます。
リンク時に 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 コマンドを使用します。