دليل البناء هذا مخصص للمساهمين الذين يجرون تعديلات على ClickHouse نفسه.إذا كنت لا تغيّر الشيفرة المصدرية لـ ClickHouse، فيمكنك تثبيت ClickHouse الجاهز مسبقًا كما هو موضح في Quick Start.
تثبيت المتطلبات الأساسية
أولًا، راجع وثائق المتطلبات الأساسية. بعد ذلك، ثبّت Homebrew ثم شغّل ثم شغّل:كما هو الحال مع يحدّد ClickHouse أيضًا إصدارًا ثابتًا من سلسلة أدوات Rust التي تستخدمها وحدة
llvm، فإن حزمة rustup من Homebrew من نوع keg-only، لذا لا يُضاف دليل bin الخاص بها إلى PATH تلقائيًا. صدّره بالطريقة نفسها التي يُصدَّر بها PATH الخاص بـ llvm في إصدار ClickHouse: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.