تثبيت Perl محليًا

تعلّم كيفية تثبيت Perl محليًا لحل تمارين Exercism على جهازك الخاص


ملاحظات حول إصدار Perl

يستهدف هذا المسار أحدث إصدار مستقر من Perl. من الممكن استخدام إصدارات أقدم من Perl، لكن قد يلزم إجراء تعديلات على ملفات البداية المرفقة لتحقيق التوافق. إذا لم تتمكن من استخدام الإصدار المحدد في ملفات البداية، فيوصى باستبدال use v5.XX; بالكود التالي:

use strict;
use warnings;
use feature qw<signatures>;

إذا كان ملف البداية يحتوي على use experimental qw<class>; وكان إصدار Perl الذي تستخدمه لا يدعم ذلك، فيمكنك إما استبداله بـ use Feature::Compat::Class;، أو استخدام نظام بديل للبرمجة كائنية التوجه، مثل Moo.

Unix/Linux/Mac OSX

من المرجح أن Perl مثبّت لديك بالفعل، لكنه قد لا يكون أحدث إصدار. شغّل perl -v للتحقق من الإصدار الذي لديك. إذا أردت استخدام إصدار أحدث، فراجع قسم «خيارات أخرى».

إذا كنت تستخدم Fedora/Red Hat/CentOS، فإن بعض الوحدات الأساسية غير مضمنة مع Perl. استخدم الأمر yum install perl-core لتثبيتها.

Windows

Strawberry Perl: توزيعة Perl مفتوحة المصدر بنسبة 100% لنظام Windows ومطابقة تمامًا لـ Perl في كل مكان آخر؛ وهذا يشمل استخدام الوحدات من CPAN دون الحاجة إلى حزم ثنائية.

يمكنك تثبيته مباشرة من الموقع أو استخدام مدير الحزم chocolatey.

خيارات أخرى

  • asdf: مدير إصدارات للأدوات يتيح تثبيت عدة لغات، بما فيها Perl، وهو متاح كـ إضافة مجتمعية.
  • perlbrew: أداة لإدارة عمليات تثبيت متعددة لـ Perl داخل دليل $HOME لديك. وهي عوالم Perl معزولة تمامًا.
  • plenv: يثبّت إصدارات Perl تحت دليلك الرئيسي ويتيح لك تثبيت الوحدات محليًا، كما يسمح لك بالتبديل إلى أي إصدار Perl في الطرفية.
  • ActivePerl Community Edition: توزيعة Perl مجانية وجاهزة للتثبيت لأنظمة Windows وLinux وMac OS X، مصممة لمطوري المجتمع أو لمشاريع المصادر المفتوحة غير الحرجة للأعمال أو المهام.

تثبيت الوحدات اللازمة

إذا كنت تستخدم إصدارًا من Perl أقدم من 5.40، فستحتاج إلى تثبيت حزمة الاختبار Test2::V0. ستحتاج أيضًا إلى تثبيت Feature::Compat::Class أو نظام بديل للبرمجة كائنية التوجه لتمارين البرمجة كائنية التوجه. استخدم الإرشادات التالية لإعداد ذلك (أو استخدم بكل حرية مثبّت الوحدات المفضّل لديك إذا كنت على دراية بـ Perl):

local::lib

  • تأكد من أن واجهة سطر الأوامر الخاصة بـ Exercism قد ثُبّتت وهُيّئت بالفعل. عند تشغيل exercism workspace، يجب أن يظهر لك المسار المناسب.

  • نزّل مثبّت الوحدات cpm واستخدمه لتثبيت نفسه، وlocal::lib، وTest2::V0، وFeature::Compat::Class في دليلك exercism/perl5:

# *nix
curl -sL --compressed https://git.io/cpm | \
  perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class

# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
  perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
  • شغّل local::lib لتهيئة بيئتك لاستخدام الوحدات التي ثبّتها في exercism/perl5:
# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)

# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
  -M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression

لن تستمر تغييرات البيئة الناتجة عن الأمر أعلاه، وستحتاج إلى إعادة تشغيله إذا أعدت تشغيل الطرفية. إذا أردت أن تُهيَّأ بيئتك تلقائيًا في كل مرة، فعدّل ملف .bashrc (أو ما يقابله في *nix) أو ملف PowerShell_profile.ps1 لتضمين الأمر أعلاه.

تجد توثيق local::lib هنا.

حزم نظام التشغيل

بدلًا من ذلك، قد يتوفر في مدير الحزم لنظام التشغيل لديك حزمة Test2 Suite يمكنك تثبيتها. تشمل الخيارات المتاحة: