我使用perlbrew
安装了perl-5.12.2:
perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f
然后我切换到此版本并使用IPC::System::Simple
安装了cpanm
。
然而,当我尝试运行我的脚本时,我得到:
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.
我还发现了以下目录:
~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple
但它是空的(我不知道这是否意味着什么)。
答案 0 :(得分:3)
尝试this step-by-step guide,密切注意步骤7和8(以及可选的9)。
答案 1 :(得分:2)
命令行中的which cpanm
显示什么?对你来说应该报告:
/home/dave/perl5/perlbrew/bin/cpanm
如果可以,那么ls -l /home/dave/perl5/perlbrew/bin/cpanm
会显示什么?它应该指向:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
最后ls -l /Users/barry/perl5/perlbrew/perls/current
应指向您在perlbrew
中切换到的Perl:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
所有这三个必须是这样的,否则出现问题。
如果不是那么可能的问题是cpanm
指向另一个已安装的Perl。您需要为cpanm
下的每个perl版本安装perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
现在,如果which cpanm
仍未显示perlbrew
路径,那么您的$PATH
(或同等)文件中会出现.bash_profile
优先级问题。这可以通过确保您的perlbrew
行...
source /home/dave/perl5/perlbrew/etc/bashrc
配置文件中的 ...位于任何其他export $PATH
行之后。
重新登录后,您可以通过echo $PATH
确认这是正确的,您应该在路径字符串的开头(左侧)看到perlbrew
,即。像这样的东西:
/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin: