我安装了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.

我还找到了以下DIR:~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple但这是空的(我不知道这是否意味着什么)。

有帮助吗?

解决方案

有什么 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。你需要 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:

其他提示

尝试 本分步指南, ,密切关注步骤7和8(以及可选的9)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top