破解debian的升级,导致perl问题

所以我塞满了debian的升级,升级和升级。 我更习惯于百胜,但这不是理由。

现在事情是愚蠢的。 大部分的工作,但是,我的bugzilla安装失败。 在加载bugzilla时,我得到一个500错误,并logging在error.log;

[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]在@INC中找不到Email / Address.pm(@INC包含:./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)在Bugzilla / Mailer.pm 48行。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在Bugzilla / Mailer.pm 48行中断。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]编译失败,需要在Bugzilla / Token.pm第35行。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在Bugzilla / Token.pm第35行中断。
[Fri Jun 05 12:34:16 2009] [错误] [客户端172.20.0.160]编译在Bugzilla / Auth / Persist / Cookie.pm第37行的require中失败。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在Bugzilla / Auth / Persist / Cookie.pm第37行中止。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]编译失败,需要在Bugzilla / Auth.pm第37行。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在Bugzilla / Auth.pm第37行中断。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]编译失败,需要在Bugzilla.pm 31行。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在Bugzilla.pm 31行中断。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]在/var/www/bugzilla/index.cgi第34行编译失败。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN失败 – 编译在/var/www/bugzilla/index.cgi第34行中止。
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160]脚本头过早结束:index.cgi

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

检查用户设置…删除现有编译模板…预编译模板…不是/usr/share/perl5/Bugzilla/Template.pm第59行的子例程引用。编译在/ usr / share / bugzilla / lib / checksetup.pl行1291

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

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

并没有成功。

任何帮助将非常感激。

而且,这个网站正在成为像我这样的系统级noob的救星,我非常感谢所有的帮助。

基督教

我发现你已经用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 

然后,您可以select使用它来validation包是否正确:

 apt-cache show libemail-address-perl 

最后是我开始的apt-get安装。

不要使用更新版本的Bugzilla,你可以考虑(重新)安装Perl 5.8到不同的目录。 不要覆盖操作系统。

在过去,我已经学会了将操作系统版本和应用程序版本的Perl保存在不同的目录中的难题。 让操作系统pipe理/填充它的Perl版本要求,并确保您在不同的目录中满足应用程序的要求。

  perl -MCPAN -e shell install Email::Address 

也许? 我不是perl的人

你正在使用Perl 5.10 – 你是否试图安装一个旧版本的Bugzilla,它不起作用?

使用更新的Bugzilla( 3.0.2及更高版本)或在这里查看解决方法。

尝试运行apt-get -f install,它可能会修复你的破包。