Perl lokal installieren

Lerne, wie du Perl lokal installierst, um Exercism-Übungen auf deinem eigenen Rechner zu lösen


Hinweise zur Perl-Version

Der Track zielt auf die neueste stabile Version von Perl ab. Es ist möglich, ältere Versionen von Perl zu verwenden, aber möglicherweise musst du die bereitgestellten Stub-Dateien anpassen, damit sie kompatibel sind. Wenn du die in den Stub-Dateien angegebene Version nicht verwenden kannst, solltest du use v5.XX; durch den folgenden Code ersetzen:

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

Wenn die Stub-Datei use experimental qw<class>; enthält und die von dir verwendete Perl-Version dies nicht unterstützt, kannst du dies entweder durch use Feature::Compat::Class; ersetzen oder ein alternatives Objektorientierungssystem verwenden, z. B. Moo.

Unix/Linux/Mac OSX

Perl ist wahrscheinlich bereits installiert, allerdings ist es möglich, dass es nicht die neueste Version ist. Führe perl -v aus, um zu prüfen, welche Version du hast. Wenn du eine neuere Version verwenden möchtest, schau dir den Abschnitt „Weitere Optionen“ an.

Wenn du Fedora/Red Hat/CentOS verwendest, sind einige Kernmodule nicht in Perl enthalten. Verwende den Befehl yum install perl-core, um sie zu installieren.

Windows

Strawberry Perl: Ein zu 100 % quelloffenes Perl für Windows, das genau dasselbe ist wie Perl überall sonst; das schließt die Verwendung von Modulen aus CPAN ein, ohne dass Binärpakete nötig sind.

Du kannst es entweder direkt von der Website installieren oder den chocolatey-Paketmanager verwenden.

Weitere Optionen

  • asdf: Ein Tool zum Verwalten von Versionen, mit dem du mehrere Sprachen installieren kannst, darunter Perl, das als Community-Plugin verfügbar ist.
  • perlbrew: Ein Tool, mit dem du mehrere Perl-Installationen in deinem $HOME-Verzeichnis verwalten kannst. Sie sind vollständig voneinander isolierte Perl-Universen.
  • plenv: Installiert Perls unter deinem Home-Verzeichnis, lässt dich Module lokal installieren und ermöglicht dir, in deiner Shell auf beliebige Perl-Versionen zu wechseln.
  • ActivePerl Community Edition: Eine kostenlose, installationsfertige Perl-Distribution für Windows, Linux und Mac OS X, gedacht für Community-Entwickler oder Open-Source-Projekte, die nicht geschäftskritisch oder missionskritisch sind.

Notwendige Module installieren

Wenn du eine Perl-Version älter als 5.40 verwendest, musst du das Testpaket Test2::V0 installieren. Außerdem musst du entweder Feature::Compat::Class oder ein alternatives Objektorientierungssystem für OOP-Übungen installieren. Verwende die folgenden Anweisungen, um das einzurichten (oder nutze gern deinen Lieblings-Modulinstaller, wenn du dich mit Perl schon auskennst):

local::lib

  • Stelle sicher, dass die Exercism-Kommandozeile bereits installiert und konfiguriert ist. Wenn du exercism workspace ausführst, sollte dir der passende Pfad angezeigt werden.

  • Lade den Modulinstaller cpm herunter und installiere damit sich selbst, local::lib, Test2::V0 und Feature::Compat::Class in dein Verzeichnis 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
  • Führe local::lib aus, um deine Umgebung so einzurichten, dass sie die Module verwendet, die du in exercism/perl5 installiert hast:
# *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

Die Umgebungsänderungen durch den obigen Befehl bleiben nicht erhalten und müssen erneut ausgeführt werden, wenn du deine Shell neu startest. Wenn du möchtest, dass deine Umgebung jedes Mal automatisch eingerichtet wird, füge den obigen Befehl in deine .bashrc (oder das entsprechende *nix-Äquivalent) oder deine PowerShell_profile.ps1 ein.

Die Dokumentation für local::lib findest du hier.

OS-Pakete

Alternativ hat der Paketmanager deines Betriebssystems möglicherweise ein Test2-Suite-Paket, das du installieren kannst. Verfügbare Optionen sind unter anderem: