Skip to main content
دليل البناء هذا مخصص للمساهمين الذين يجرون تعديلات على ClickHouse نفسه.إذا كنت لا تغيّر الشيفرة المصدرية لـ ClickHouse، فيمكنك تثبيت ClickHouse الجاهز مسبقًا كما هو موضح في Quick Start.
يمكن تجميع ClickHouse على macOS x86_64 ‏(Intel) وarm64 ‏(Apple Silicon) على macOS 10.15 ‏(Catalina) أو أحدث. أما المصرّف، فالمعتمد فقط هو Clang من Homebrew.

تثبيت المتطلبات الأساسية

أولًا، راجع وثائق المتطلبات الأساسية. بعد ذلك، ثبّت Homebrew ثم شغّل ثم شغّل:
كما هو الحال مع llvm، فإن حزمة rustup من Homebrew من نوع keg-only، لذا لا يُضاف دليل bin الخاص بها إلى PATH تلقائيًا. صدّره بالطريقة نفسها التي يُصدَّر بها PATH الخاص بـ llvm في إصدار ClickHouse:
يحدّد ClickHouse أيضًا إصدارًا ثابتًا من سلسلة أدوات Rust التي تستخدمها وحدة corrosion الإضافية. ثبّتها واخترها باتباع قسم تثبيت مصرّف Rust في دليل الإصدار على Linux. وبدون ذلك، يفشل cmake عند وحدة corrosion الإضافية مع ظهور الخطأ Cannot find nightly-<date> Rust toolchain.
تستخدم Apple نظام ملفات غير حساس لحالة الأحرف افتراضيًا. ورغم أن هذا لا يؤثر عادةً في التجميع (خصوصًا أن عمليات الإصدار من الصفر ستعمل)، فقد يسبب التباسًا في عمليات مثل git mv. إذا كنت تعمل بجدية على التطوير في macOS، فتأكد من تخزين الشيفرة المصدرية على وحدة تخزين حساسة لحالة الأحرف، وراجع مثلًا هذه التعليمات.

إصدار ClickHouse

لإصدار ClickHouse، يجب استخدام مصرّف Clang الخاص بـ Homebrew:
يثبّت الأمر brew install llvm بصيغته المجرّدة دائمًا أحدث إصدار من LLVM يوفّره Homebrew، وقد يكون أحدث من إصدار Clang المعتمد لعمليات CI وإصدارات Linux (راجع تثبيت مصرّف Clang). وقد يُفعِّل إصدار Clang الأحدث تشخيصات من -Weverything لم تُكتم بعد في عملية الإصدار، فيفشل الإصدار عند استخدام -Werror. إذا حدث ذلك، فثبّت الإصدار الرئيسي المعتمد بدلًا من تعطيل التحذيرات، على سبيل المثال عبر صيغة (formula) مقيّدة بإصدار محدد (brew install llvm@<version>) إن كان Homebrew لا يزال يوفّرها.
إذا واجهت أخطاء من نوع ld: archive member '/' not a mach-o file in ... أثناء مرحلة الربط، فقد تحتاج إلى استخدام llvm-ar عبر ضبط الوسيط -DCMAKE_AR=/opt/homebrew/opt/llvm/bin/llvm-ar.

ملاحظات مهمة

إذا كنت تنوي تشغيل clickhouse-server، فتأكّد من زيادة قيمة المتغيّر maxfiles على النظام.
ستحتاج إلى استخدام sudo.
للقيام بذلك، أنشئ الملف /Library/LaunchDaemons/limit.maxfiles.plist بالمحتوى التالي:
عيّن للملف الأذونات الصحيحة:
تحقّق من صحة الملف:
حمِّل الملف (أو أعد التشغيل):
للتحقق من عمله، استخدم الأمر ulimit -n أو launchctl limit maxfiles.