تعلّم كيفية تثبيت Pharo محليًا لحل تمارين Exercism على جهازك.
أبسط طريقة لتثبيت Pharo هي استخدام تنزيل zero conf من سطر أوامر الطرفية.
ملاحظة: إذا كنت تحاول ترقية تثبيت قائم، فراجع تعليمات الترقية.
على مستخدمي Windows الذين لا يملكون صدفة بأسلوب UNIX مثبَّتة أن ينتقلوا إلى تعليمات تثبيت Windows (أدناه).
وقد يرغب مستخدمو Linux الأكثر تقدمًا في الرجوع إلى تثبيت Linux للمتمكّنين.
على Linux/OSX (بافتراض أنك ثبّتت Exercism وانضممت إلى مسار Pharo)، انتقل إلى مجلدك /Exercism/pharo-smalltalk واكتب:
curl https://get.pharo.org/64/ | bash
ثم شغّل Pharo مع أدوات Exercism بلصق «سكربت التحميل» التالي:
./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
"
إذا واجهت أي مشاكل TIMEOUT عند تحميل الأدوات، فاخرج من Pharo وامسح ذاكرة git المؤقتة بكتابة:
rm -rf pharo-local/iceberg/
ثم أعد تنفيذ مثال ./pharo-ui ... أعلاه.
إذا استمرت المشاكل معك، فراجع قناة Pharo على Discord الموصوفة في صفحة مجتمع Pharo.
إذا كان كل شيء يعمل بشكل صحيح، فسترى أشرطة تقدّم التحميل تومض عبر الشاشة، ثم ستظهر نافذة System Browser.
نصيحة: عند الخروج من Pharo، احفظ تغييراتك (اختر قائمة Pharo، ثم اختر "Save and Quit"). يمكنك الآن تشغيل Pharo مع Exercism محمَّل مسبقًا، بكتابة:
./pharo-ui Pharo.image
ما زلنا نعمل على تحديد أفضل المتطلبات المسبقة لأدوات سطر الأوامر على Windows، لكن يمكنك أيضًا تثبيت Pharo رسوميًا باستخدام Windows Pharo Launcher (أداة مفيدة لإدارة عدة صور Pharo). هذا المشغّل متاح أيضًا على OSX وLinux إذا كنت تميل إلى الواجهات الرسومية.
شغّل ملف .msi الذي حمّلته لتثبيت Pharo Launcher.
شغّل Pharo launcher.
في الزاوية العلوية اليسرى انقر على "New".
في النافذة اختر "Official distributions" من فئات القوالب.
لتمارين Exercism، اختر من قائمة قوالب صور Pharo أحدث إصدار مستقر (حاليًا "Pharo 10.0 64-bit (stable)" كما هو موصى به).
انقر لتحديد قالب صورة، وأعطه اسمًا، ثم انقر على زر إنشاء الصورة في الأسفل (شكل ترس برتقالي).

بمجرد تنزيل القالب سيظهر على اليمين في جدول Existing Images. انقر عليه، ثم انقر على زر التشغيل في الأعلى (سهم تشغيل أخضر).

بمجرد أن تبدأ صورة Pharo، افتح Playground باختيار قائمة Browse واختيار Playground، أو استخدم
ctrl + o + w.

أخيرًا، انسخ والصق المقطع التالي في Playground:
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
baseline: 'Exercism';
repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
load.
#ExercismManager asClass welcome.
ثم نفّذ الكود الملصوق بتحديده كاملًا، والنقر بزر الفأرة الأيمن ثم اختيار Do it من القائمة (أو استخدم ctrl + d).
إذا كان كل شيء يعمل بشكل صحيح، فسترى أشرطة تقدّم التحميل تومض عبر الشاشة، ثم ستظهر نافذة System Browser.
عند تشغيل Pharo، سترى مشروع Welcome في System Browser (نصيحة: إذا فقدت هذه النافذة في أي وقت يمكنك فتح نافذة جديدة من قائمة Tools|System Browser).

تُظهر اللوحة العلوية اليسرى من System Browser الحزم في بيئتك، وستلاحظ أن سكربت التثبيت أعدّ بالفعل حزمة تُسمى Exercism، تحتوي على وسم مشروع فرعي يُسمى Welcome. أما اللوحة الثانية فتعرض الأصناف، وفيها أيضًا صنف يُسمى Welcome. وأسفل لوحة الأصناف توجد 4 أزرار اختيار: "Flat" (يعرض الأصناف الموجودة في الحزمة)، و"Hier." (يعرض التسلسل الهرمي للأصناف)، و"Inst. side" (يعرض طُرق النسخ)، و"Class side" (يعرض طُرق الأصناف ودوال البناء).
إذا نقرت على علامة تبويب Comment، فسترى أحدث التعليمات لاستخدام Pharo Exercism. اقرأ التعليقات وجرّب تشغيل اختبارك الأول.
في اللغات الأخرى القائمة على الملفات كنت ستنتقل عادةً في هذه المرحلة إلى الطرفية، وتستخدم واجهة سطر أوامر Exercism لجلب التمرين التالي. ومع أن Pharo يستطيع التعامل مع الملفات بطريقة مشابهة، فإن البيئة مضبوطة في الواقع للعمل مع الكائنات الحية. والأصناف والطُرق والكود المصدري كلها كائنات، على نحو مثير للاهتمام، شأنها شأن كل شيء آخر في Pharo. وستتعلم المزيد عن ذلك خلال هذا المسار.
من أجل Exercism، أدرجنا إضافة تتيح لك جلب تمارين Pharo وإرسالها من داخل بيئة التطوير المتكاملة.
كل ما عليك فعله هو النقر بزر الفأرة الأيمن على حزمة تمرين (في هذه الحالة، حزمة Welcome في اللوحة العلوية اليسرى)، واختيار عنصر القائمة Exercism | Fetch Exercise.
سيطلب منك اسم تمرين (مثل hello-world)، وبمجرد إدخاله سيجليه لك تلقائيًا.
يمكنك العثور على أسماء التمارين في وصف كل تمرين على صفحة مسار Pharo (في أقصى اليمين). هناك تعليمات Download مع أمر يحتوي على مفتاح كل تمرين. ويمكنك أيضًا استخدام زر النسخ المجاور لتعليمات سطر الأوامر ولصق النص كاملًا في مربع الجلب (وسنستخرج المفتاح تلقائيًا).
عندما تدخل تمرينًا صالحًا، ستجلب الإضافة الكود ذا الصلة وتعرضه في System Browser، لتكون جاهزًا لبدء البرمجة مع الاختبارات.
عندما تنجح جميع اختباراتك، يمكنك إرسال حلّك باستخدام قائمة السياق نفسها الخاصة بحزمة تمرينك (انقر بزر الفأرة الأيمن على وسم الحزمة واختر Exercism | Submit Exercise...)

أخيرًا، استخدم قائمة Exercism | View Track Progress لزيارة موقع Exercism ورؤية التمارين الأخرى التي فُتحت لك، وكذلك لنشر أسئلة عن إرسالك ليقرأها المرشدون.
هل تعلم: عندما تشغّل Pharo، فأنت في الحقيقة تستعيد لقطة صورة تنفيذية، شبيهة بصورة نظام تشغيل VMWare. هذا مفهوم قوي يتيح لك تعليق العمل في منتصف عملية، وربما حتى أثناء تصحيح خطأ ما. وعندما تعيد تشغيل Pharo في المرة التالية، يمكنك مواصلة التنقل في الكود داخل المنقّح المستعاد، أو ربما مواصلة خطوة إعادة هيكلة.
إذا احتجت في أي وقت إلى إعادة تعيين رمز واجهة سطر الأوامر لديك بسبب مشكلة أمنية، فزر صفحة إعدادات Exercism واستخدم زر إعادة تعيين الرمز. بعد ذلك، عليك مسح رمزك القديم في Pharo Exercism بتنفيذ الكود التالي في Playground:
ExercismHttpClient
reset;
promptForToken.
من وقت لآخر قد نحتاج منك إلى تحديث المكتبات في صورة Pharo Exercism لديك. يُرجى اتباع هذه التعليمات