所以我升级了 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,它可能会修复损坏的软件包。