Installe Perl en local

Découvre comment installer Perl en local pour résoudre les exercices d'Exercism sur ta propre machine


Notes sur la version de Perl

Le parcours vise la dernière version stable de Perl. Il est possible d'utiliser des versions plus anciennes de Perl, mais il peut être nécessaire d'adapter les fichiers stub fournis pour assurer la compatibilité. Si tu ne peux pas utiliser la version indiquée dans les fichiers stub, il est recommandé de remplacer use v5.XX; par le code suivant :

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

Si le fichier stub contient use experimental qw<class>; et que la version de Perl que tu utilises ne prend pas cela en charge, tu peux soit remplacer cette ligne par use Feature::Compat::Class;, soit utiliser un autre système de programmation orientée objet, par exemple Moo.

Unix/Linux/Mac OSX

Perl est probablement déjà installé, mais il se peut que ce ne soit pas la version la plus récente. Lance perl -v pour vérifier quelle version tu as. Si tu souhaites utiliser une version plus récente, consulte la section « Autres options ».

Si tu utilises Fedora/Red Hat/CentOS, certains modules de base ne sont pas inclus avec Perl. Utilise la commande yum install perl-core pour les installer.

Windows

Strawberry Perl : un Perl 100 % open source pour Windows, exactement identique au Perl que l'on trouve partout ailleurs ; cela inclut l'utilisation de modules depuis CPAN, sans avoir besoin de paquets binaires.

Tu peux soit l'installer directement depuis le site, soit utiliser le gestionnaire de paquets chocolatey.

Autres options

  • asdf : Un gestionnaire de versions d'outils qui permet d'installer plusieurs langages, dont Perl, disponible sous forme de plugin communautaire.
  • perlbrew : Un outil pour gérer plusieurs installations de Perl dans ton répertoire $HOME. Ce sont des univers Perl complètement isolés.
  • plenv : Installe des versions de Perl dans ton répertoire personnel et te permet d'installer des modules localement, et de basculer vers n'importe quelle version de Perl dans ton shell.
  • ActivePerl Community Edition : Une distribution Perl gratuite et prête à installer pour Windows, Linux et Mac OS X, conçue pour les développeurs de la communauté ou les projets open source qui ne sont pas critiques pour l'entreprise ou la mission.

Installer les modules nécessaires

Si tu utilises une version de Perl antérieure à 5.40, tu devras installer le paquet de tests Test2::V0. Tu devras aussi installer Feature::Compat::Class ou un autre système de programmation orientée objet pour les exercices de POO. Suis les instructions suivantes pour mettre cela en place (ou utilise ton installateur de modules préféré si tu connais déjà Perl) :

local::lib

  • Assure-toi que l'Exercism CLI est déjà installée et configurée. Lancer exercism workspace devrait t'afficher le chemin approprié.

  • Télécharge l'installateur de modules cpm et utilise-le pour installer lui-même, local::lib, Test2::V0 et Feature::Compat::Class dans ton répertoire 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
  • Lance local::lib pour configurer ton environnement afin d'utiliser les modules que tu as installés dans 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

Les modifications d'environnement produites par la commande ci-dessus ne persisteront pas et devront être relancées si tu redémarres ton shell. Si tu souhaites que ton environnement soit configuré automatiquement à chaque fois, modifie ton .bashrc (ou l'équivalent sur *nix) ou ton PowerShell_profile.ps1 pour y inclure la commande ci-dessus.

La documentation de local::lib se trouve ici.

Paquets du système d'exploitation

Sinon, le gestionnaire de paquets de ton système d'exploitation propose peut-être un paquet Test2 Suite à installer. Voici les options disponibles :