تشرح هذه الصفحة طريقة تثبيت Bazel من المصدر، وتقدّم نصائح لتحديد المشاكل الشائعة وحلّها.
لإنشاء Bazel من المصدر، يمكنك تنفيذ أحد الإجراءات التالية:
يمكنك إنشاؤها باستخدام برنامج ثنائي حالي على Bazel
يمكنك إنشاؤه بدون ثنائي Bazel ثنائي معروف باسم bootstrapping.
لعبة Bazel باستخدام Bazel
الملخّص
احصل على أحدث إصدار من Bazel من صفحة إصدار GitHub أو من خلال Bazelisk.
نزِّل مصادر Bazel's من GitHub واستخرجها من مكان ما. يمكنك بدلاً من ذلك git المستنسَج لشجرة المصدر من https://github.com/bazelbuild/bazel.
ثبِّت المتطلبات الأساسية نفسها كما في نظام التشغيل (اطّلِع على لأنظمة تشبه نظام التشغيل Unix أو في نظام التشغيل Windows).
بناء إصدار من Bazel باستخدام Bazel:
bazel build //src:bazel-dev
(أوbazel build //src:bazel-dev.exe
على Windows)يكون البرنامج الثنائي الناتج بقيمة
bazel-bin/src/bazel-dev
(أوbazel-bin\src\bazel-dev.exe
على نظام التشغيل Windows). يمكنك نسخ المحتوى في أي مكان، واستخدامه على الفور بدون الحاجة إلى المزيد من التثبيت.
في ما يلي تعليمات تفصيلية.
الخطوة 1: الحصول على أحدث إصدار من Bazel
الهدف: تثبيت إصدار من Bazel أو تنزيله تأكَّد من تشغيله
عن طريق كتابة bazel
في الوحدة الطرفية.
السبب: لإنشاء Bazel من شجرة مصدر GitHub، تحتاج إلى برنامج ثنائي Bazel متوفّر مسبقًا. يمكنك تثبيت واحدة من مدير حِزم أو تنزيل واحدة من GitHub. يُرجى الاطّلاع على تثبيت Bazel. (أو يمكنك الإنشاء من نقطة الصفر (bootstrap).)
تحديد المشاكل وحلّها:
إذا لم تتمكّن من تشغيل Bazel من خلال كتابة
bazel
في الوحدة الطرفية:قد لا يكون دليل Bazel الثنائي الخاص بك على PATH.
هذه ليست مشكلة كبيرة. بدلاً من كتابة
bazel
، ستحتاج إلى كتابة المسار الكامل.قد لا يُسمى البرنامج الثنائي Bazel نفسه
bazel
(على نظام التشغيل Unixes) أوbazel.exe
(على نظام التشغيل Windows).هذه ليست مشكلة كبيرة. يمكنك إما إعادة تسمية البرنامج الثنائي أو كتابة اسم البرنامج الثنائي بدلاً من
bazel
.من المحتمل أنّ البرنامج الثنائي غير قابل للتنفيذ (على نظام التشغيل Unixes).
يجب جعل البرنامج الثنائي التنفيذي قابلاً للتنفيذ من خلال تشغيل
chmod +x /path/to/bazel
.
الخطوة 2: تنزيل مصادر Bazel’s من GitHub
إذا كنت معتادًا على أداة Git، لا تترتّب عليك سوى الأمر github https://github.com/bazelbuild/bazel
غير ذلك:
نزِّل أحدث المصادر كملف zip.
استخراج المحتوى في مكان ما
على سبيل المثال، أنشئ دليل
bazel-src
ضمن الدليل الرئيسي واستخرجه.
الخطوة 3: تثبيت المتطلبات الأساسية
ثبّت المتطلبات الأساسية نفسها كما هو الحال عند تشغيل نظام التشغيل (انظر أدناه) -- JDK وC++ وMSYS2 (إذا كنت تعمل على نظام التشغيل Windows)، وما إلى ذلك.
الخطوة 4a: إنشاء Bazel على Ubuntu Linux وmacOS وأنظمة أخرى شبيهة بـ Unix
للحصول على تعليمات نظام التشغيل Windows، يُرجى الاطِّلاع على إصدار Bazel على نظام التشغيل Windows.
الهدف: استخدِم تطبيق Bazel لإنشاء برنامج ثنائي مخصّص للعبة Bazel (bazel-bin/src/bazel-dev
).
التعليمات:
بدء محطة دفع Bash
cd
في الدليل الذي استخرجت فيه (أو انسخته) مصادر Bazel's.على سبيل المثال، في حال استخراج المصادر ضمن الدليل الرئيسي، يمكنك تنفيذ ما يلي:
cd ~/bazel-src
إصدار Bazel من المصدر:
bazel build //src:bazel-dev
ويمكنك بدلاً من ذلك تنفيذ عملية التشغيل
bazel build //src:bazel --compilation_mode=opt
للحصول على برنامج ثنائي أصغر حجمًا، ولكنه أبطأ في الإنشاء.ستكون قيمة الإخراج في
bazel-bin/src/bazel-dev
(أوbazel-bin/src/bazel
).
الخطوة 4(ب): إنشاء Bazel على نظام التشغيل Windows
للحصول على تعليمات حول الأنظمة التي تشبه Unix، يمكنك الاطّلاع على Ubuntu Linux وmacOS وأنظمة أخرى تشبه Unix.
الهدف: تشغيل Bazel لإنشاء ثنائية ثنائية على Bazel
(bazel-bin\src\bazel-dev.exe
).
التعليمات:
بدء موجه الأوامر (Start Start > Run > "cmd.exe")
cd
في الدليل الذي استخرجت فيه (أو انسخته) مصادر Bazel's.على سبيل المثال، في حال استخراج المصادر ضمن الدليل الرئيسي، يمكنك تنفيذ ما يلي:
cd %USERPROFILE%\bazel-src
إصدار Bazel من المصدر:
bazel build //src:bazel-dev.exe
ويمكنك بدلاً من ذلك تشغيل
bazel build //src:bazel.exe --compilation_mode=opt
للحصول على برنامج ثنائي أصغر، ولكنه أبطأ في الإنشاء.سيكون الناتج في
bazel-bin\src\bazel-dev.exe
(أوbazel-bin\src\bazel.exe
).
الخطوة 5: تثبيت البرنامج الثنائي المضمَّن
في الواقع، لا يوجد شيء لتثبيته.
نتيجة الخطوة السابقة هي منصة Bazel الثنائية المستقلة. يمكنك نسخها إلى أي دليل واستخدامها على الفور. (يكون مفيدًا إذا كان هذا الدليل موجودًا على مسار PATH حتى تتمكن من تشغيل "bazel" في كل مكان).
إنشاء Bazel من البداية (مدّة التشغيل)
يمكنك أيضًا إنشاء Bazel من البداية، بدون استخدام برنامج ثنائي حالي.
الخطوة 1: تنزيل مصادر Bazelc (أرشيف التوزيع)
(هذه الخطوة هي نفسها في جميع الأنظمة الأساسية).
تنزيل
bazel-<version>-dist.zip
من GitHub، مثلاًbazel-0.28.1-dist.zip
جذب الانتباه:
- يتوفّر أرشيف توزيع واحد مستقل عن البنية. ليست هناك أرشيفات توزيع خاصة بالبنية أو نظام التشغيل.
- هذه المصادر ليست مختلفة عن شجرة ملفات GitHub. يجب استخدام أرشيف التوزيع لبدء تشغيل Bazel. لا يمكنك استخدام شجرة المصدر التي يتم نسخها من GitHub. (يحتوي أرشيف التوزيع على ملفات مصدر تم إنشاؤها ومطلوبة لعملية التشغيل للتشغيل، وهي ليست جزءًا من العرض التدرّجي المصدر لمصدر Git.)
يجب فك ضغط أرشيف التوزيع في مكان معيّن على القرص.
يجب التحقق من التوقيع الذي حصل عليه Bazel'sمفتاح الإصدار 3D5919B448457EE0.
الخطوة 2 (أ): Poststrap Bazel على Ubuntu Linux وmacOS وغيرها من الأنظمة التي تشبه Unix
للحصول على تعليمات حول نظام التشغيل Windows، يُرجى الاطِّلاع على Bootstrap Bazel على نظام التشغيل Windows.
2.1. تثبيت المتطلبات الأساسية
الفرش
zip، فك ضغط
سلسلة أدوات لإنشاء C++
اليابانية الإصدار 11 مطلوب.
Python ويمكنك استخدام الإصدارين 2 و3، حيث يكفي تثبيت أحدهما.
على سبيل المثال، في نظام التشغيل Ubuntu Linux، يمكنك تثبيت هذه المتطلبات باستخدام الأمر التالي:
sudo apt-get install build-essential openjdk-11-jdk python zip unzip
2.2. Boststrap Bazel على Unix
افتح واجهة أوامر أو نافذة محطة دفع.
cd
إلى الدليل الذي تم فك ضغط أرشيف التوزيع فيه.شغِّل النص البرمجي للتجميع:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" bash ./compile.sh
.
يتم وضع المخرجات المجمَّعة في output/bazel
. هذا برنامج بازل مستقل بدون رمز JDK مضمّن. يمكنك نسخها في أي مكان أو استخدامها في مكانها. لتسهيل العملية، يمكنك نسخ هذا البرنامج الثنائي إلى دليل يتم عرضه على
PATH
(مثل /usr/local/bin
على نظام التشغيل Linux).
لإنشاء برنامج ثنائي bazel
بطريقة قابلة للتكرار، اضبط أيضًا
SOURCE_DATE_EPOCH
في الخطوة "تشغيل النص البرمجي للتجميع"؛
الخطوة 2-ب: Boststrap Bazel على نظام التشغيل Windows
للحصول على تعليمات حول الأنظمة التي تشبه Unix، يمكنك الاطّلاع على Bootstrap Bazel على Ubuntu Linux وmacOS وغيره من الأنظمة التي تشبه Unix.
2.1. تثبيت المتطلبات الأساسية
حِزم MSYS2 لـ zip وفك ضغط شغِّل الأمر التالي في واجهة أوامر MSYS2:
pacman -S zip unzip patch
العارض المرئي C++ : يمكنك تثبيت برنامج التجميع المرئي C++ إمّا كجزء من Visual Studio 2015 أو الإصدارات الأحدث أو عن طريق تثبيت أحدث إصدار من أدوات إنشاء الإصدار 2017 من Visual Studio.
اليابانية الإصدار 11 مطلوب.
Python ويمكنك استخدام الإصدارين 2 و3، حيث يكفي تثبيت أحدهما. يجب أن يكون لديك إصدار متوافق مع نظام التشغيل Windows (يمكن تنزيله من https://www.python.org). لن تعمل الإصدارات المثبَّتة عبر pacman في MSYS2.
2.2. برنامج Boststrap Bazel على أجهزة Windows
افتح واجهة أوامر MSYS2.
اضبط متغيّرات البيئة التالية:
- إما
BAZEL_VS
أوBAZEL_VC
(ليس متطابقين): اضبط على المسار إلى دليل Visual Studio (BAZEL_VS) أو على الدليل المرئي C++ (BAZEL_VC). يُمْكِنُ ضَبْطْ أَحَدِ الْإِجْرَاءَاتْ. BAZEL_SH
: مسار MSYS2bash.exe
يمكنك الاطّلاع على الأمر في الأمثلة أدناه.يجب عدم ضبط هذه السياسة على
C:\Windows\System32\bash.exe
. (يتوفّر لديك هذا الملف في حال تثبيت نظام التشغيل Windows الفرعي لنظام التشغيل Linux). Bazel غير متوافق مع هذا الإصدار منbash.exe
.PATH
: أضِف دليل Python.JAVA_HOME
: اضبط القيمة على دليل JDK.
مثال (باستخدام BAZEL_VS):
export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools" export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))" export PATH="/c/python27:$PATH" export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"
أو (باستخدام BAZEL_VC):
export BAZEL_VC="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC" export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))" export PATH="/c/python27:$PATH" export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"
- إما
cd
إلى الدليل الذي تم فك ضغط أرشيف التوزيع فيه.شغِّل النص البرمجي للتجميع:
env EXTRA_BAZEL_ARGS="--tool_java_runtime_version=local_jdk" ./compile.sh
يتم وضع المخرجات المجمَّعة في output/bazel.exe
. هذا برنامج بازل مستقل بدون رمز JDK مضمّن. يمكنك نسخها في أي مكان أو استخدامها في مكانها. لتسهيل العملية، انسخ هذا البرنامج الثنائي إلى دليل يتم عرضه على PATH
.
لإنشاء برنامج ثنائي bazel.exe
بطريقة قابلة للتكرار، اضبط أيضًا
SOURCE_DATE_EPOCH
في الخطوة "تشغيل النص البرمجي للتجميع"؛
لست بحاجة إلى تشغيل Bazel من واجهة برمجة التطبيقات MSYS2. يمكنك تشغيل Bazel من موجِّه الأوامر (cmd.exe
) أو PowerShell.