نصب 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 صددرصد متن‌باز برای Windows که دقیقاً همان Perl در هر جای دیگری است؛ این شامل استفاده از ماژول‌های CPAN هم می‌شود، بدون نیاز به بسته‌های باینری.

می‌توانید آن را مستقیم از سایت نصب کنید یا از مدیر بسته‌ی chocolatey استفاده کنید.

گزینه‌های دیگر

  • asdf: یک مدیر نسخه‌ی ابزار که امکان نصب چندین زبان، از جمله Perl را فراهم می‌کند و به‌صورت یک افزونه‌ی انجمن در دسترس است.
  • perlbrew: ابزاری برای مدیریت چندین نصب Perl در پوشه‌ی $HOME شما. این نصب‌ها جهان‌های کاملاً جدای Perl هستند.
  • plenv: نسخه‌های Perl را در پوشه‌ی خانه‌ی شما نصب می‌کند، به شما اجازه می‌دهد ماژول‌ها را به‌صورت محلی نصب کنید و می‌توانید در شل خود به نسخه‌های دلخواه Perl تغییر دهید.
  • ActivePerl Community Edition: یک توزیع Perl رایگان و آماده‌ی نصب برای Windows، Linux و Mac OS X که برای توسعه‌دهندگان انجمن یا پروژه‌های متن‌باز غیرحیاتی طراحی شده است.

نصب ماژول‌های لازم

اگر از نسخه‌ای از Perl قدیمی‌تر از ۵.۴۰ استفاده می‌کنید، باید بسته‌ی تست Test2::V0 را نصب کنید. همچنین برای تمرین‌های برنامه‌نویسی شیءگرا باید یا Feature::Compat::Class یا یک سیستم شیءگرایی جایگزین نصب کنید. برای راه‌اندازی این مورد از دستورهای زیر استفاده کنید (یا اگر با Perl آشنایی دارید، با خیال راحت از نصب‌کننده‌ی ماژول دلخواهتان استفاده کنید):

local::lib

  • مطمئن شوید که CLI مربوط به 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 برای نصب داشته باشد. گزینه‌های موجود عبارت‌اند از: