文件:: Temp版本0.18要求 – 这只是版本16

我在运行BestPractical RT的服务器上运行YUM。 现在Apache不会启动。 看看错误日志,我得到这个错误:

File :: Temp需要0.18版本 – 这只是版本0.16在/usr/lib/perl5/site_perl/5.8.8/MIME/Tools.pm 14行。

我运行CPAN,并安装了File :: Temp,它说它已经有最新版本(0.22)。 为什么给我这个错误?

我的猜测是你有/usr/bin/perl (Perl v5.8.8)库存在/usr/lib/perl5/site_perl/5.8.8/… ,然后你也有/usr/local/bin/perl (Perl v5.13.9),库存储在/usr/local/lib/perl5/site_perl/5.13.9/… …。 更新File::Spec ,更新了/usr/local/bin/perl使用的版本,但是/usr/bin/perl仍在使用旧版本。

您必须更新/usr/bin/perl使用的File::Spec的版本,或使Apache使用/usr/local/bin/perl

要更新/usr/bin/perl使用的版本,您可以使用

 /usr/bin/perl -MCPAN -we 'CPAN::Shell -> install("File::Spec")' 

我没有太多的Apache经验,但我确信有几种方法可以使用/usr/local/bin/perl 。 您可以尝试将/usr/local/bin放在PATH环境variables中的/usr/bin /usr/local/bin之前,但这可能会带来其他后果。