我在运行 BestPractical 的 RT 的服务器上运行了 YUM。现在 Apache 无法启动。查看错误日志时,我收到此错误:
需要 File::Temp 版本 0.18——这只是 /usr/lib/perl5/site_perl/5.8.8/MIME/Tools.pm 第 14 行的版本 0.16。
我运行了 CPAN 并安装了 File::Temp,它说它已经有最新版本 (0.22)。为什么会给我这个错误?
答案1
我的猜测是,您有/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
仍在使用旧版本。
File::Spec
您必须更新所使用的版本/usr/bin/perl
或者让 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
before ,但这可能会产生其他后果。/usr/bin
PATH