1 votes

Nouvelle version de Perl

J'ai installé Perl 5.12 sur mon serveur, mais lorsque j'essaie de vérifier la version en cours d'exécution, la version 5.10 est indiquée.

J'avais installé 5.10 auparavant, alors comment puis-je désactiver cette ancienne version et faire de 5.12 la version par défaut ? Je fonctionne sous Fedora.

1voto

Tanktalus Points 156

En général, vous faites no voulez supprimer/désinstaller le système perl. C'est mauvais .

Au lieu de cela, ajoutez simplement le chemin dans lequel le nouveau perl est installé à votre PATH. Ou bien faites un lien symétrique ou un lien en dur avec ce perl dans un emplacement de votre PATH.

Le problème est que votre système est testé contre un niveau spécifique de Perl. Les outils fournis avec la distribution que vous utilisez peuvent ne pas être mis à jour pour fonctionner avec un niveau plus récent de Perl. De plus, si vous avez une distribution binaire (par exemple, une distribution basée sur debian ou RPM, entre autres), vous pouvez installer quelque chose à partir de votre distribution qui comprend un module perl incluant XS (code C), et que debian/RPM/quelque chose ne fonctionnera pas nécessairement avec la nouvelle version de Perl (franchir la limite 5.8/5.10 était définitivement un non-non).

Vous devriez donc laisser le système perl tranquille.

Ce que j'ai fait, c'est d'ajouter ~/bin à mon PATH, avant /usr/bin, puis de lier perl au Perl souhaité (j'en ai plusieurs). Ensuite, je peux lancer "perl outil "si je veux utiliser mon perl, ou je peux utiliser "#!/home/myuser/bin/perl" comme première ligne pour obtenir la même idée. Mais, pour les outils système, qui se trouvent généralement dans /usr/bin ou /usr/sbin, ils auront "#!/usr/bin/perl" comme première ligne, et seront exécutés par ce perl.

Ne touchez pas à votre distro. Vous serez seul si quelque chose ne va pas.

0voto

Tout d'abord, vous devez vérifier si vous utilisez la nouvelle ou l'ancienne version de perl (avez-vous désinstallé l'ancienne version avant d'installer la nouvelle ? Pour ce faire, faites :

 $ whereis perl
 perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz

Si ce n'est pas le même répertoire, vous devez soit mettre à jour votre chemin pour rechercher le répertoire où vous avez installé la nouvelle version de perl avant de vérifier le répertoire où se trouve l'ancienne version de perl, soit désinstaller l'ancienne version.

0voto

rocketsarefast Points 1167

Comme indiqué, vérifiez votre chemin. Exécutez qui(1) pour voir où il trouve le binaire perl qui est exécuté : which perl devrait faire l'affaire.

Et vous n'avez pas besoin de désinstaller l'ancienne version (bien que vous puissiez le vouloir) : certains scripts que vous exécutez peuvent nécessiter l'ancienne version. On ne sait jamais.

Assurez-vous que vos scripts perl ont un shebang comme première ligne (la commande scripts l'utilise pour choisir l'interpréteur pour le scripts exécuté). Une ligne shebang pour perl ressemble à quelque chose comme :

#!/path/to/desired/instance/of/perl -any -desired -perl -options -here

Si le shebang de votre script perl ressemble à

#!/usr/bin/perl

vous obtiendrez le binaire perl installé à cet endroit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X