Comment installer Perlbrew et gérer plusieurs versions de Perl 5 sur CentOS 7

introduction

Perl 5 est un langage de programmation mature et complet. Il est utilisé dans les projets de production de tous types, y compris les systèmes d’entreprise critiques dans le monde entier. Le progicielPerlbrew vous permet d'installer, de supprimer et de basculer entre les versions du langage de programmation Perl 5.

Perlbrew installe Perl dans votre répertoire personnel et chaque version de Perl que vous installez est indépendante des autres. Cela vous permet de tester votre code avec plusieurs versions de Perl sans interférer avec aucune autre version ni être influencé par celle-ci. Ceci inclut le paquet Perl par défaut de votre système d’exploitation, qui est généralement beaucoup plus ancien que la dernière version stable.

Dans ce tutoriel, vous allez installer Perlbrew et l’utiliser pour installer et tester une version de Perl 5.

Conditions préalables

Pour suivre ce guide, vous aurez besoin de:

[[step-1 -–- Installing-perlbrew]] == Étape 1 - Installation de Perlbrew

Avant d’installer Perlbrew, vous aurez besoin de quelques packages prérequis. Perlbrew a besoin degcc, un compilateur et debzip2, un utilitaire de compression, pour compiler et installer Perl. Ces packages ne sont pas installés par défaut sur CentOS 7, mais si vous avez ajouté des packages à votre serveur, ces deux packages sont peut-être déjà disponibles. Vous pouvez trouver ce qui vous manque assez facilement.

[.note] #Note: Les numéros de version de package que vous voyez dans les exemples suivants peuvent être plus élevés que ceux indiqués dans ce guide car des révisions sont régulièrement apportées à ces packages.
#

La construction de Perl nécessite deux paquets liés à gcc,libgcc etgcc. Pour voir si vous avez déjà ces packages, exécutez la commande suivante:

rpm -qa | grep gcc

S'ils sont installés, vous verrez la sortie suivante:

Is the gcc package installed?libgcc-4.8.5-11.el7.x86_64
gcc-4.8.5-11.el7.x86_64

CentOS 7 n'inclut que le packagelibgcc par défaut, vous pouvez donc installergcc avec la commande suivante:

sudo yum install gcc

Vous avez également besoin des packagesbzip2-libs etbzip2. Vérifiez qu’ils sont également installés:

rpm -qa | grep bzip2

S'ils sont tous les deux installés, vous verrez ce qui suit:

Is the bzip2 package installed?bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64

Par défaut, CentOS 7 inclut uniquement le packagebzip2-libs. Ajoutez le packagebzip2:

sudo yum install bzip2

Enfin, installez l'utilitairepatch.

sudo yum install patch

Une fois les conditions préalables remplies, vous pouvez installer Perlbrew. Téléchargez le script d'installation sur votre serveur:

curl -L https://install.perlbrew.pl -o install.perlbrew.pl

Pour auditer le contenu du script avant de l'exécuter, ouvrez-le dans un éditeur de texte pour en afficher le contenu:

vi install.perlbrew.pl

Une fois que vous êtes à l'aise avec le contenu du script,pipeenvoie le script àbash pour exécuter le script d'installation:

cat install.perlbrew.pl | bash

Cela créera une nouvelle structure de répertoires dans/home/sammy/perl5, où Perlbrew stockera ses fichiers de support et ses versions de Perl. Le script d'installation affiche le résultat suivant:

Output## Download the latest perlbrew

## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew

perlbrew root (~/perl5/perlbrew) is initialized.

Append the following piece of code to the end of your ~/.bash_profile and start a
new shell, perlbrew should be up and fully functional from there:

    source ~/perl5/perlbrew/etc/bashrc

Simply run `perlbrew` for usage details.

Happy brewing!

## Installing patchperl

## Done.

Ensuite, utilisez l'utilitaireperlbrew pour créer des fichiers de configuration initiale et des répertoires dans/home/sammy/perl5/perlbrew:

~/perl5/perlbrew/bin/perlbrew self-install

Vous verrez le résultat suivant:

OutputYou are already running the installed perlbrew:
    /home/sammy/perl5/perlbrew/bin/perlbrew

Perlbrew est maintenant installé, mais vous voudrez modifier les fichiers de configuration de votre shell pour en faciliter l’utilisation.

[[step-2 -–- edit-your-bash_profile-to-include-perlbrew]] == Étape 2 - Modification de vos.bash_profile pour inclure Perlbrew

Avant d'utiliser Perlbrew pour installer une version de Perl, vous devez éditer votre fichier.bash_profile afin qu'il définisse automatiquement certaines variables d'environnement Perlbrew importantes. Perlbrew rend cela facile en incluant le code nécessaire dans un autre fichier de configuration que vous pouvez inclure dans vos.bash_profile.

Ouvrez le fichier~/.bash_profile dans votre éditeur:

vi ~/.bash_profile

Ajoutez la ligne suivante au bas du fichier pour inclure les paramètres Perlbrew:

source ~/perl5/perlbrew/etc/bashrc

Enregistrez le fichier et quittez l'éditeur.

Déconnectez-vous, puis reconnectez-vous pour vous assurer que votre fichier.bash_profile charge les paramètres de Perlbrew. Il va maintenant ajouter/home/sammy/perl5/perlbrew/bin au début de votre variable d'environnementPATH et définir d'autres variables d'environnement dont Perlbrew a besoin.

Vérifiez que ces variables d'environnement ont été définies en exécutant la commandeenv etfiltering the results with grep pour le textePERL:

env | grep PERL

Vous devriez voir des entrées similaires aux suivantes:

OutputPERLBREW_BASHRC_VERSION=0.78
PERLBREW_ROOT=/home/sammy/perl5/perlbrew
PERLBREW_HOME=/home/sammy/.perlbrew

Ces variables d’environnement indiquent à Perlbrew où se trouvent les répertoires importants. Le numéro de version peut être plus élevé si Perlbrew a été révisé après la publication de ce tutoriel.

Taperwhich perlbrew devrait maintenant identifier le chemin complet de la commandeperlbrew:

which perlbrew

Vous devriez voir ce qui suit sur votre terminal:

Expected Output~/perl5/perlbrew/bin/perlbrew

Maintenant que Perlbrew est installé et configuré, commençons à l’utiliser.

[[step-3 -–- installation-et-construction-de-votre-version-perl]] == Étape 3 - Installation et construction de votre version Perl.

Utilisons Perlbrew pour installer une version stable de Perl 5. Utilisez la commandeperlbrew pour voir quelles versions de Perl sont disponibles pour l'installation:

perlbrew available

Vous verrez une liste semblable à la liste partielle suivante:

Partial Listing  perl-5.25.11
  perl-5.24.1
  perl-5.22.3
  perl-5.20.3
  perl-5.18.4
  ...

Les versions majeures impaires, telles queperl-5.25, sont en cours de développement actif et ne sont pas considérées comme stables ou prêtes pour la production. En général, vous n'utiliserez pas de versions antérieures à5.10.1, sauf si vous disposez d'un ancien code qui nécessite l'une de ces anciennes versions.

Selon la sortie,perl-5.24.1 est la version stable la plus récente, car elle a le plus grand nombre même majeur. Vous pouvez choisir n'importe quelle version de Perl affichée dans la liste, mais pour ce tutoriel, nous installeronsperl-5.24.1.

Installez-le avecperlbrew install:

perlbrew install perl-5.24.1

L’installation de Perl peut prendre un certain temps, généralement environ 20 minutes. N'interrompez pas le processus de construction. Si vous voulez voir la progression de la construction, vous pouvez ouvrir une session de terminal distincte et surveiller le journal de construction avectail -f ~/perl5/perlbrew/build.perl-5.24.1.log.

Une fois la construction terminée, vous verrez la sortie suivante de Perlbrew:

Output perl-5.24.1 is successfully installed.

Une fois la construction terminée, la dernière ligne du fichier journal de la construction sera la suivante:

Output
##### Brew Finished #####

Vous pouvez répéter ce processus pour chaque version de Perl que vous souhaitez installer. Ce guide explique uniquement l'installation d'une version, mais cette étape peut être répétée pour autant de versions que nécessaire.

Voyons ensuite comment utiliser Perlbrew pour travailler avec plusieurs versions de Perl.

[[step-4 -–- manage-your-new-perl-installation]] == Étape 4 - Gestion de votre nouvelle installation Perl

À ce stade, il existe deux versions de Perl sur votre système: la version du fournisseur fournie avec le système d'exploitation et la version de Perl que vous venez d'installer dans le répertoire~/perl5 avec Perlbrew.

Pour utiliser votre nouvelle installation Perl, exécutez la commande suivante:

perlbrew use perl-5.24.1

Cette commande met à jour la variable d'environnementPERLBREW_PERL pour qu'elle pointe vers la version Perl spécifiée pour votre session de connexion actuelle.

Si vous souhaitez qu'une version de Perl soit votre version par défaut à chaque fois que vous vous connectez, exécutez la commande suivante:

perlbrew switch perl-5.24.1

Cette commande définit la variable d'environnementPERLBREW_PERL pour qu'elle pointe vers la version Perl spécifiée à chaque fois que vous vous connectez.

Vérifiez que vous utilisez maintenant Perl 5.24.1:

perl -V

Vous devriez voir la sortie suivante:

Parial Output...
%ENV:
    PERLBREW_BASHRC_VERSION="0.78"
    PERLBREW_HOME="/home/sammy/.perlbrew"
    PERLBREW_MANPATH="/home/sammy/perl5/perlbrew/perls/perl-5.24.1/man"
    PERLBREW_PATH="/home/sammy/perl5/perlbrew/bin:/home/sammy/perl5/perlbrew/perls/perl-5.24.1/bin"
    PERLBREW_PERL="perl-5.24.1"
    PERLBREW_ROOT="/home/sammy/perl5/perlbrew"
    PERLBREW_VERSION="0.78"
@INC:
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
    .

Perlbrew installe uniquement le code Perl principal. Pour voir quels modules constituent le noyau d'une version particulière de Perl, exécutez cette commande:

corelist -v 5.24.1

A tout moment après avoir utilisé les commandesperlbrew use ouperlbrew switch, vous pouvez revenir à la version fournisseur de Perl en utilisant la commandeperlbrew off. Si vous avez utiliséperlbrew switch pour définir un nouveau Perl par défaut, vous pouvez supprimer ce paramètre par défaut avecperlbrew switch-off.

La commandeperlbrew, émise sans indicateur, génère une simple liste de commandes utiles. La commandeperlbrew help génère des informations d'aide plus détaillées.

Installons quelques modules Perl supplémentaires.

[[step-5 -–- testing-your-perl-installation-by-Installing-modules-from-cpan]] == Étape 5 - Test de votre installation Perl en installant des modules à partir de CPAN

Perl fournit une vaste gamme de modules de code publics qui étendent le langage principal. Ces modules sont stockés dans le réseau complet d’archives Perl (CPAN). Le code que vous envisagez d'écrire est peut-être déjà écrit, testé et disponible dans CPAN. Vous pouvez utiliser lesCPAN repository pour éviter de réinventer la roue.

App::cpanminus est un module Perl qui vous permet d'explorer le référentiel CPAN et de télécharger des modules. C’est populaire et facile à utiliser. Laissons installer ce module et utilisez-le pour tester votre nouvelle installation de Perl.

Assurez-vous que vous utilisez votre nouvelle installation Perl:

perlbrew use perl-5.24.1

Installez le module cpanminus avec:

curl -L https://cpanmin.us | perl - App::cpanminus

Vous verrez le résultat suivant:

Output--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz ... OK
Configuring App-cpanminus-1.7043 ... OK
Building and testing App-cpanminus-1.7043 ... OK
Successfully installed App-cpanminus-1.7043
1 distribution installed

Vérifiez que le module cpanminus est maintenant présent:

perlbrew list-modules

Vous devriez voirApp::cpanimus dans la sortie:

OutputApp::cpanminus
Perl

Vous pouvez maintenant utiliser l'utilitaire de ligne de commandecpanm pour installer des modules supplémentaires et leurs dépendances. Utilisons-le pour installer le moduleEmail::Simple, dont vous auriez besoin si vous écriviez du code Perl pour envoyer des e-mails.

cpanm Email::Simple

Une fois l'installation terminée, consultez à nouveau la liste des modules:

perlbrew list-modules

Vous verrez le résultat suivant:

Expected OutputApp::cpanminus
Email::Date::Format
Email::Simple
Perl

Le moduleEmail::Simple nécessite le moduleEmail:Date::Format. Le programmecpanm a installé la dépendance pour vous.

Si vous ne savez pas quoi installer pour compléter votre installation principale de Perl, jetez un œil àTask::Kensho, qui décrit de nombreux modules traitant un large éventail de tâches considérées comme prêtes pour la production.

Conclusion

Dans ce didacticiel, vous avez installé Perlbrew et l’avez utilisé pour installer une version locale de Perl dans votre répertoire personnel. Vous avez également appris comment utiliser Perlbrew pour installer et gérer plusieurs versions de Perl, et comment installer des modules supplémentaires à partir du référentiel CPAN avec l'utilitairecpanm. Vous pouvez utiliser le même processus pour installer différentes versions de Perl 5 afin d’installer la version dont vous avez besoin pour votre application.