A Perl helyi telepítése

Tanuld meg, hogyan telepítsd a Perlt helyben, hogy az Exercism feladatait a saját gépeden oldhasd meg


Megjegyzések a Perl verziójáról

A kurzus a Perl legfrissebb stabil kiadását célozza. Lehetőség van a Perl régebbi verzióinak használatára is, de a kompatibilitás érdekében szükség lehet a mellékelt vázfájlok módosítására. Ha nem tudod használni a vázfájlokban megadott verziót, érdemes a use v5.XX; sort a következő kódra cserélni:

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

Ha a vázfájl tartalmazza a use experimental qw<class>; sort, és az általad használt Perl-verzió nem támogatja ezt, akkor vagy cseréld le a use Feature::Compat::Class; sorra, vagy használj más objektumorientált rendszert, például a Moo modult.

Unix/Linux/Mac OSX

A Perl valószínűleg már telepítve van, de elképzelhető, hogy ez nem a legfrissebb verzió. A perl -v futtatásával ellenőrizheted, hogy melyik verzióval rendelkezel. Ha újabb verziót szeretnél használni, nézd meg az „Egyéb lehetőségek” szakaszt.

Ha Fedora/Red Hat/CentOS rendszert használsz, néhány alapmodul nem része a Perlnek. Telepítésükhöz használd a yum install perl-core parancsot.

Windows

Strawberry Perl: 100%-ban nyílt forráskódú Perl Windowsra, amely pontosan ugyanolyan, mint a Perl bárhol máshol; ez magában foglalja a CPAN modulok használatát is, anélkül, hogy bináris csomagokra lenne szükség.

Telepítheted közvetlenül az oldalról, vagy használhatod a chocolatey csomagkezelőt.

Egyéb lehetőségek

  • asdf: Eszközök verziókezelője, amellyel több nyelv, köztük a Perl is telepíthető; a Perl közösségi bővítményként érhető el.
  • perlbrew: Eszköz több Perl-telepítés kezelésére a $HOME könyvtáradban. Ezek teljesen elkülönített Perl-univerzumok.
  • plenv: A home könyvtárad alá telepít Perl-verziókat, lehetővé teszi modulok helyi telepítését, és hogy a shellben tetszőleges Perl-verzióra válts.
  • ActivePerl Community Edition: Ingyenes, azonnal telepíthető Perl-disztribúció Windowsra, Linuxra és Mac OS X-re, amelyet közösségi fejlesztőknek vagy olyan nyílt forráskódú projekteknek szántak, amelyek nem üzleti szempontból kritikusak vagy létfontosságúak.

A szükséges modulok telepítése

Ha az 5.40-nél régebbi Perl-verziót használsz, telepítened kell a Test2::V0 tesztcsomagot. Az OOP-feladatokhoz emellett telepítened kell a Feature::Compat::Class modult vagy egy másik objektumorientált rendszert is. A beállításhoz kövesd az alábbi utasításokat (vagy nyugodtan használd a kedvenc modultelepítődet, ha már jártas vagy a Perlben):

local::lib

  • Győződj meg róla, hogy az Exercism CLI már telepítve és beállítva van. Az exercism workspace futtatása megmutatja a megfelelő útvonalat.

  • Töltsd le a cpm modultelepítőt, és használd önmaga, valamint a local::lib, a Test2::V0 és a Feature::Compat::Class modulok telepítésére az exercism/perl5 könyvtáradba:

# *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
  • Futtasd a local::lib modult, hogy beállítsd a környezetedet az exercism/perl5 könyvtárba telepített modulok használatához:
# *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

A fenti parancs környezeti változásai nem maradnak meg, ezért ha újraindítod a shellt, újra le kell futtatnod. Ha szeretnéd, hogy a környezeted minden alkalommal automatikusan be legyen állítva, vedd fel a fenti parancsot a .bashrc fájlodba (vagy a *nix megfelelőjébe), illetve a PowerShell_profile.ps1 fájlodba.

A local::lib dokumentációja itt található.

Operációsrendszer-csomagok

Másik lehetőség, hogy az operációs rendszered csomagkezelője kínál telepíthető Test2 Suite csomagot. A rendelkezésre álló lehetőségek: