Debian 升级失败,导致 perl 问题

Debian 升级失败,导致 perl 问题

所以我升级了 debian,包括 upgrade 和 dist-upgrade。我更习惯 yum,但这不是借口。

现在事情变得很荒谬。大多数事情都正常,但是我的 Bugzilla 安装失败了。在加载 Bugzilla 时,我收到 500 错误,这记录在 error.log 中;

[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Can't locate Email/Address.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at Bugzilla/Mailer.pm line 48.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Mailer.pm line 48.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Token.pm line 35.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Token.pm line 35.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Auth/Persist/Cookie.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Auth/Persist/Cookie.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Auth.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Auth.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla.pm line 31.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla.pm line 31.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at /var/www/bugzilla/index.cgi line 34.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at /var/www/bugzilla/index.cgi line 34.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Premature end of script headers: index.cgi

另外,当我从 Bugzilla 运行 checksetup.pl 时,它似乎过早结束;

Checking user setup ...
Removing existing compiled templates ...
Precompiling templates ...
Not a subroutine reference at /usr/share/perl5/Bugzilla/Template.pm line 59.
Compilation failed in require at /usr/share/bugzilla/lib/checksetup.pl line 1291

我已经重新安装了 perl 和 perl-base;

apt-get install --reinstall perl-base
apt-get install --reinstall perl

但没有成功。

如能提供任何帮助我将非常感激。

此外,对于像我这样的系统新手来说,这个网站正在成为我的救星,我真的非常感谢我得到的所有帮助。

基督教

答案1

我看到您已经使用 CPAN shell 解决了这个问题,但是最好使用 Debian 软件包进行安装,这样您就只有一个地方可以检查升级等等...事实上,我敢打赌,如果您一开始就使用了 debian bugzilla 软件包,您就不会遇到这个问题。

apt-get install libemail-address-perl

一般情况:

apt-cache search Email::Address 

这会给你类似的输出(但有时不止一个包):

libemail-address-perl - RFC 2822 Address Parsing and Creation

然后,您可以选择使用它来验证包是否正确:

apt-cache show libemail-address-perl

最后,我开始使用 apt-get install。

答案2

您可以考虑将 Perl 5.8(重新)安装到其他目​​录,而不是使用较新版本的 Bugzilla。不要覆盖操作系统。

过去,我吃过不少苦头,终于学会了将操作系统版本和应用程序版本的 Perl 放在不同的目录中。让操作系统管理/满足其 Perl 版本要求,并确保在不同的目录中满足应用程序的要求。

答案3

  perl -MCPAN -e shell 
  install Email::Address

也许吧?我不是 Perl 爱好者...

答案4

尝试运行 apt-get -f install,它可能会修复损坏的软件包。

相关内容