4

我使用以下命令安装了 perl-5.12.2 perlbrew

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 但它是空的(我不知道这是否意味着什么)。

4

2 回答 2

3

试试这个分步指南,密切注意第 7 步和第 8 步(以及可选的第 9 步)。

于 2010-09-20T17:17:33.340 回答
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应该指向您已切换到的 Perl perlbrew

/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2

所有这三个必须是这样的,否则有问题。

如果不是,那么一个可能的问题是cpanm指向另一个已安装的 Perl。您需要为cpanmperl 的每个版本安装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:
于 2010-09-20T17:54:11.547 回答