2010-11-15 2 views
0

J'ai installé un tas de modules CPAN dans ma région. Il semble que chaque paquet veut être installé quelque part différent sous mon PREFIX.Comment puis-je modifier ma zone CPAN pour n'exiger qu'un seul répertoire dans mon chemin @INC?

Dans mon cas, je dois utiliser:

setenv CPAN_DIR <my root>/perl-5.12.2_cpan 

setenv PERLLIB $CPAN_DIR/install/lib64/site_perl/x86_64-linux:$CPAN_DIR/install/lib/5.12.2:$CPAN_DIR/install/lib/site_perl/x86_64-linux:$CPAN_DIR/install/lib/site_perl:$CPAN_DIR/install/lib/perl5:$CPAN_DIR/install/lib/site_perl/5.12.2:$CPAN_DIR/install/lib/site_perl/5.12.2/x86_64-linux 

Je voudrais être en mesure de configurer une zone « de libération » paquet qui ne nécessite que:

setenv PERLLIB <one dir> 

ou

use lib '<one dir>'; 

Sûrement ce n'est pas une idée nouvelle. C'est quoi le truc? Et

+0

Pourquoi utilisez-vous votre PERLLIB en premier lieu? C'est quelque chose que vous devriez généralement laisser seul, mais si vous voulez vraiment le modifier, configurez-le lorsque vous compilez et installez Perl lui-même. – Ether

+0

Quels arguments passez-vous à 'Makefile.PL' et' Build.PL' lorsque vous installez des modules? – Schwern

Répondre

2

use lib et PERL5LIB ajoutent non seulement les répertoires que vous spécifiez, mais aussi la version attendue ou les sous-répertoires arch sous ceux-ci. Etes-vous sûr que vous avez réellement un problème ici?

Si oui, pouvez-vous montrer un exemple où l'utilisation de lib ne fonctionne pas, y compris la sortie perl -V?

+0

vous avez raison. J'ai pris l'habitude d'utiliser PERLLIB qui ne marche pas. PERL5LIB et utilisez lib do. – mmccoo

Questions connexes