Warum wird kein Modul von `installiert cpanm` erkannt werden?
Frage
Ich installierte perl-5.12.2 mit perlbrew
:
perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f
ich dann auf diese Version umgeschaltet und installiert IPC::System::Simple
cpanm
verwendet wird.
Allerdings, wenn ich versuche, mein Skript auszuführen, erhalte ich:
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.
Ich fand auch die folgenden dir:
~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple
aber es ist leer (ich habe keine Ahnung, ob das bedeutet etwas).
Lösung
Was ist von der Kommandozeile anzeigen which cpanm
? Für Sie sollte es melden:
/home/dave/perl5/perlbrew/bin/cpanm
Wenn das ist OK dann was tut ls -l /home/dave/perl5/perlbrew/bin/cpanm
zeigen? Es sei darauf deutet auf:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
Und schließlich sollte ls -l /Users/barry/perl5/perlbrew/perls/current
zum Perl werden zeigen Sie gewechselt haben, um in perlbrew
:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
Alle drei müssen diese wie sein diese sonst etwas nicht stimmt.
Wenn es nicht dann ein wahrscheinlich Problem ist, dass cpanm
verweist auf einen anderen installierten Perl. Sie brauchen, um cpanm
für jede Version von Perl installiert unter perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
Nun, wenn which cpanm
immer noch nicht den perlbrew
Weg zeigt, dann haben Sie ein $PATH
Vorrang Problem in Ihrem .bash_profile
(oder gleichwertig) Datei. Dies kann, indem sichergestellt wird festgelegt werden, dass Ihre perlbrew
Linie ...
source /home/dave/perl5/perlbrew/etc/bashrc
... in der Profildatei ist nach irgendwelchen anderen export $PATH
Linien.
Nach dem erneuten Login zurück in Sie bestätigen können, dass dieses Recht ist durch echo $PATH
tun und Sie sollten eine href sehen <= „http://search.cpan.org/dist/App-perlbrew/“ rel = "nofollow noreferrer „> perlbrew
am Anfang (links) der Pfadzeichenfolge, das heißt. so etwas wie folgt aus:
/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin:
Andere Tipps
Versuchen Sie dieser Schritt-für-Schritt-Anleitung , große Aufmerksamkeit auf die Schritte 7 und 8 (und optional 9) zu bezahlen.