Pourquoi pas un module installé par `cpanm` être reconnu?
Question
J'ai installé Perl-5.12.2 en utilisant perlbrew
:
perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f
Je puis passer à cette version et installée IPC::System::Simple
en utilisant cpanm
.
Cependant, je reçois quand je tente de lancer mon script:
Can't locate IPC/System/Simple.pm in @INC (@INC contains: /home/dave/workspace/proj1/scripts/bin/../lib /home/dave/src/bioperl-live /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2 .) at /home/dave/workspace/proj1/scripts/bin/../lib/createLayout.pm line 14.
Je trouve aussi le répertoire suivant:
~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple
mais il est vide (je n'ai aucune idée si cela signifie quelque chose).
La solution
Qu'est-ce que which cpanm
de l'émission de ligne de commande? Pour vous, il devrait faire rapport:
/home/dave/perl5/perlbrew/bin/cpanm
Si c'est OK alors qu'est-ce show ls -l /home/dave/perl5/perlbrew/bin/cpanm
? Il doit pointer vers:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
Et enfin ls -l /Users/barry/perl5/perlbrew/perls/current
doit pointer vers le Perl, vous avez changé dans perlbrew
:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
Les trois d'entre eux doit être comme ça sinon quelque chose ne va pas.
Si ce ne est pas alors un problème probable est que cpanm
pointe vers un autre Perl installé. Vous devez avoir cpanm
installé pour chaque version de perl sous perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
Maintenant, si which cpanm
ne montre pas encore le chemin de perlbrew
alors vous avez un problème de priorité de $PATH
dans votre fichier .bash_profile
(ou équivalent). Cela peut être corrigé en faisant en sorte que votre perlbrew
ligne ...
source /home/dave/perl5/perlbrew/etc/bashrc
... dans le fichier de profil est après tout autre lignes export $PATH
.
Après retour re-connexion en vous pouvez confirmer que cela est juste en faisant echo $PATH
et vous devriez voir
Autres conseils
cette étape par étape , en accordant une attention particulière aux étapes 7 et 8 (et éventuellement 9).