Installation des modules CPAN via local:: lib

30 août 2009 · Posted in Perl

OBSOLETE: Ce texte a été rendu obsolète par le texte de Perl plus facile que jamais .

Installation des modules CPAN sur les machines où vous n'avez pas les permissions root est très simple. En utilisant le module local:: lib CPAN lui-même, vous pouvez créer une installation locale dans laquelle les modules sont installés dans leur propre maison.

Mise en place cpan

Il suffit d'appeler un terminal et tapez la commande cpan. Il vous montrera un petit message de la présentation et vous demander si vous souhaitez vous permettent de configurer tout automatiquement. Pour la plupart des cas, la configuration automatique est suffisant, mais je vais définir quelques options pour moi, donc je vais répondre «non».

  Seriez-vous comme moi pour configurer automatiquement autant que possible?  [Oui] dans 

La première option que je vais réponse différente de la valeur par défaut est la politique qui définit les conditions préalables (<prerequisites_policy>). Il définit ce que doit faire le CPAN lorsqu'ils sont confrontés à un module qui a une addiction. La valeur par défaut est «demander» (demander).

  Politique sur les conditions de construction (suivi, demander ou ignorer)?  [Demandez] suivi 

Je vais changer pour «suivre» (ci-dessous). Ainsi, lorsque le CPAN trouver un module qui a une certaine dépendance, plutôt que de me poser, il va essayer de l'installer automatiquement. Cette installation est extrêmement utile au cours de long avec un arbre de dépendance aussi importante que le catalyseur.

  Politique sur l'installation de modules build_requires '(oui, non, demandez / oui,
 demandez / non)?  [Demandez / oui] oui 

Suite à la question sur l'installation de dépendances de construction des modules. Je vais changer de «demander / oui 'à' oui 'à les dépendances de construction sont également installés. La valeur par défaut est de demander et de proposer une réponse affirmative.

Vient ensuite une série de questions sur les outils normalement utiliser CPAN. Je profite de ce moment pour vérifier si quelque chose manquait, puis l'installer.

  Où est votre programme bzip2?  [/ Bin/bzip2]

 Où est votre programme gzip?  [/ Bin / gzip] 

Plusieurs options après la prochaine, c'est que j'ai changer le charset par défaut ISO-8859-1 en UTF-8.

  L'option suivante traite avec le charset (jeu de caractères alias) de votre
 terminal supporte.  En général, le CPAN est l'anglais le territoire de parler, aussi
 le jeu de caractères n'est pas très important, mais certains ont CPAN noms qui sont
 en dehors de la plage ASCII.  Si votre terminal supporte l'UTF-8, vous devez
 dire non à la question suivante.  Si elle attend ISO-8859-1 (aussi appelé
 Latin1), alors vous devriez dire oui.  Si elle soutient Neith, votre réponse
 Peu importe, car vous ne serez pas capable de lire les noms de certains
 auteurs de toute façon.  Si vous répondez non, les noms seront de sortie en UTF-8.

 Votre terminal attend la norme ISO-8859-1 (oui / non)?  [Oui] dans 

CPAN va lui demander s'il peut se connecter à Internet pour télécharger la liste des dépôts. Il est bien instruits sur les choses qu'il doit faire, donc nous sommes la définition des options qui permettent plus d'indépendance. Répondez oui et attendre qu'elle pour télécharger la liste des serveurs.

Après avoir communiqué avec la valeur par défaut des serveurs, il vous demande ce que vous voulez configurer des référentiels en trois étapes. Demandez d'abord le continent, puis pays et enfin le dépôt lui-même. Vous pouvez choisir plus d'une option en même temps. J'ai choisi de continents d'Amérique du Sud et Amérique du Nord aux pays du Brésil, le Chili et les Etats-Unis et, enfin, certains référentiels dans chaque pays. Sentez-vous libre de choisir comment et ce que vous voulez.

Pronto. Maintenant vous êtes dans le shell CPAN.

Installation du module local:: lib

La prochaine étape consiste à installer et à configurer le module local:: lib. Pour cela tapez la commande cpan shell:

  cpan [1]> regarde local:: lib 

Cela rendra le téléchargement que le module CPAN, mais ne l'installez pas automatiquement. Au contraire, elle va ouvrir un nouveau shell dans le répertoire où il déballé le module local:: lib.

Dans cette enveloppe, ne le bootstrap avec les commandes suivantes:

  catalyseur de spectro @: ~ / perl Makefile.PL $ .cpan/build/local-lib-1.004003-UyX2wf \
 - Bootstrap & & make test & & make install 

Last but not least, vous devez exporter les variables d'environnement. Pour quitter le shell courant (Ctrl + D), quittez le shell CPAN (bye ou quit) et exécutez la commande suivante dans bash:

  & gt; & gt;~ / .bashrc echo 'eval $ (perl-I $ HOME/perl5/lib/perl5-Mlocal: lib). "& gt; & gt; ~ / bashrc 

Cela va ajouter les commandes à l'exportation des variables d'environnement à la fin de votre fichier. Bashrc, et ensuite chaque connexion, ils seront automatiquement exportés.

Groupe re-mise en oeuvre de son bashrc ou de déconnexion et de connexion à nouveau

  catalyseur de spectro @: ~ $.  ~ /. Bashrc 

Assurez-vous que les variables d'environnement ont été établies ou des choses étranges peuvent se produire. Comprendre pourquoi «les choses étranges" autre chose que le bon fonctionnement. Certains peuvent être vraiment bizarre. :)

  | grep perl catalyseur de spectro @: ~ $ env | grep perl
 home / catalyst / perl5 / lib / perl5: / home / catalyst / perl5 / lib / perl5... PERL5LIB = / home / catalyseur / perl5 / lib / perl5: / home / catalyseur / perl5 / lib / perl5 ...
 home / catalyst / perl5 / .modulebuildrc MODULEBUILDRC = / home / catalyseur / perl5 /. Modulebuildrc
 home / catalyst / perl5 / bin: / usr / local / bin: / usr / bin: / bin: / usr / games Bin / usr / local /:: PATH = / home / catalyseur / perl5 / bin / usr / bin: / bin: / usr / games
 = / home / catalyst / perl5 PERL_MM_OPT INSTALL_BASE = = / home / catalyseur / perl5
 catalyseur de spectro @: ~ $ 

Retouche de maquillage

Maintenant, avant de commencer l'installation des modules, c'est une bonne mise à niveau du module lui-même CPAN.pm. Notez le cas.

  catalyseur de spectro @: ~ $ cpan CPAN
 ...
 Installation / home/catalyst/perl5/bin/cpan
 Rédaction / home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto ...
 Ajout d'informations sur l'installation d'/ home/catalyst/perl5/lib/perl5/i486-linux ...
   ANDK/CPAN-1.9402.tar.gz
   / Usr / bin / make install - OK
 Avertissement (généralement inoffensives): «YAML 'n'est pas installé, ne persistera pas stocker ...
 catalyseur de spectro @: ~ $ 

Après avoir installé la nouvelle version de la note CPAN.pm qu'il prévient que le module YAML n'est pas installé. Pour rendre les choses vont trop grassouillet Intal.

  catalyseur de spectro @: ~ $ cpan YAML
 ...
 Rédaction / home/catalyst/perl5/lib/perl5/i486-linux-gnu-thread-multi/auto/Y ...
 Ajout d'informations sur l'installation d'/ home/catalyst/perl5/lib/perl5/i486-linux ...
   INGY/YAML-0.68.tar.gz
   / Usr / bin / make install - OK
 CPAN: ok YAML chargé (v0.68)
 Allez lire à partir d'un fichier YAML / home / catalyseur /. Cpan / build /
 FAIT
 Aucune restaurée de l'Etat (en 0,0265 secondes)
 catalyseur de spectro @: ~ $ 

Maintenant oui. Regardons les choses en check-out, où est le nouvellement installé le module YAML:

  catalyseur de spectro @: ~ $ ls ~ / perl5/lib/perl5
 CPAN CPAN.pm i486-linux-gnu-thread-multi site de YAML YAML.pm test
 catalyseur de spectro @: ~ $ 

Il a été installé dans une arborescence de répertoires créés au domicile de l'utilisateur courant. Tout cela sans demander mot de passe root une fois.

Conclusion

Installation des modules CPAN localement sans mot de passe root est très facile. Cela est extrêmement utile sur les machines où vous n'avez que la permission de l'utilisateur, et hébergement de serveurs.

Un autre avantage est que les mêmes modules de prendre à une autre machine (avec la même architecture) perl5 suffit de copier le répertoire que vous venez de créer, puisque tous les modules sont installés en elle, et ajouter la commande qui exporte les variables l'environnement sur la machine cible. Cela est également utile lorsque vous avez un serveur d'hébergement qui ne vous donne pas accès à un shell.

Liens (en) utiles

Commentaires

  • http://rio.pm.org Smokemachine

    Je vous dois une bière!

  • http://rio.pm.org Smokemachine

    Je vous dois une bière!

  • http://blabos.pip.verisignlabs.com/ bavarder

    Puis achetez-moi une bière!

  • http://blabos.pip.verisignlabs.com/ bavarder

    Puis achetez-moi une bière!

  • Http://russoz.wordpress.com/ russes

    Puis bavarder, je suis aussi vous dois une bière. ;-) ES prochaine?

  • Http://russoz.wordpress.com/ russes

    Puis bavarder, je suis aussi vous dois une bière. ;-) ES prochaine?

  • Marcio Vitor

    TB Blaber je vous dois une bière, peut-être un ES suivante. Script de suivre trop calme que vous avez écrit cela.

  • Marcio Vitor

    TB Blaber je vous dois une bière, peut-être un ES suivante. Script de suivre trop calme que vous avez écrit cela.

  • http://blog.blabos.org/2010/02/criando-um-mini-mirror-do-cpan-com-o-cpanmini/ Créer un mini-miroir avec le CPAN CPAN:: Mini: Blog de ​​Blaber bulle

    [...] Pour configurer l'application à installer les modules CPAN localement avec local:: lib, la première étape consiste à configurer le miroir pour installer et configurer le module CPAN:: Mini et ses [...]

  • Fernando

    Merci! :)

    VLW mêmes .. J'ai toujours un plus de doute .. d après toutes ces procédures, si j'ai besoin de formater mon debian .. plus garder ma / home .. J'ai besoin d'une procédure de répéter ou pas?

  • Blaber http://blabos.org des bleb

    Eh bien, ça dépend.

    Si vous réinstallez le système avec la même version de Perl, pas de problème.

    Rappelez-vous que certains modules écrits en C utilisent des pièces qui sont compilés et liés avec Perl a été installé lors de l'installation du module.

    Rappelez-vous aussi qu'il ya un nouveau texte sur le sujet dans le poste de Perl en plus facile

  • Fernando

    vlwww .. Blaber! clarifier ce pour moi ..

commentaires du blog propulsé par Disqus