Perl DateTime::TimeZone not found (Bugzilla install)
Posted
技术标签:
【中文标题】Perl DateTime::TimeZone not found (Bugzilla install)【英文标题】: 【发布时间】:2011-12-04 03:32:01 【问题描述】:我正在尝试在我的 Centos 服务器上安装 Bugzilla。但我收到了这个错误:
Checking for DateTime-TimeZone (v0.71) not found
和
COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands
and then re-run this script):
/usr/bin/perl install-module.pl DateTime::TimeZone
如果我跑步:/usr/bin/perl install-module.pl DateTime::TimeZone
然后我明白了:
CPAN: Storable loaded ok (v2.15)Reading '/root/.cpan/Metadata'
Database was generated on Sun, 09 Oct 2011 17:27:24 GMT
Installing DateTime::TimeZone version 1.39...
CPAN: Module::CoreList loaded ok (v2.56)
DateTime::TimeZone is up to date (1.39).
我该如何解决这个问题?
【问题讨论】:
恕我直言,这是 Bugzilla 中的错误,在版本比较中。将其报告给 Bugzilla 自己的错误跟踪器。 我同意 Alexandr。 Bugzilla 正在寻找 0.71 版,但您安装了 1.39 版(这在版本控制方面是一个很大的飞跃)。我试图弄清楚这种检查是如何完成的。它可能正在寻找等于或更高的版本、完全匹配的版本,或者可能是具有类似主要版本的东西。我尝试过逻辑,但不想在这个问题上花那么长时间。如果您没有卡在 Bugzilla 上,您可能想尝试MantisBT。 Mantis 专门设计用于用更易于配置的系统取代 Bugzilla。 也许第一条消息来自perl
而不是/usr/bin/perl
?您是否安装了多个版本的 Perl?尝试运行perl install-module.pl DateTime::TimeZone
(没有前导/usr/bin
)。
【参考方案1】:
我猜您已经在您的用户帐户下安装了 DateTime-TimeZone,该用户帐户无法访问网络服务器或 'root' 帐户。尝试通过包管理器简单地安装:
yum install 'perl(DateTime::TimeZone)'
【讨论】:
【参考方案2】:我在升级时遇到了同样的问题。 DateTime::TimeZone 模块似乎已安装,但 Bugzilla checksetup.pl
脚本始终报告未找到它。以下为我解决了这个问题(从 Bugzilla 安装目录运行):
$ perl install-module.pl Params::Util
$ perl install-module.pl Module::Runtime
我通过编写两行 perl 脚本来模拟 Bugzilla 所做的检查发现了这一点:
use lib qw(. lib);
use DateTime::TimeZone;
然后运行它来查看错误:
perl /tmp/foo.pl
安装上述模块后,foo.pl
脚本通过,Bugzilla checksetup.pl
也通过。
【讨论】:
第二个命令 perl install-module.pl Module::Runtime 为我做了。这是针对 Bugzilla 4.2.3 的!我认为无论如何它都没有被提及为可选/必需,但它绕过了 DateTime 区域要求,即使我已经安装了该模块。 对我来说,缺少的模块与 YAML 有关。运行 perl install-module.pl 脚本绝对是要走的路(而不是直接运行 yum install 或 cpan)。【参考方案3】:我也遇到了这个问题。我不确定为什么找不到 TimeZone。
我已经简单地挖掘了代码并尝试更改 TimeZone 的版本号以使其正常工作,但它总是显示“未找到”。
最后,我只是注释掉了它试图进行检查的行。然后它允许我安装。 (在每行的开头添加哈希)
#
# package => 'DateTime-TimeZone',
# module => 'DateTime::TimeZone',
# version => ON_WINDOWS ? '0.79' : '0.71'
# ,
这似乎是 Bugzilla 中的一个错误。我建议举报。
【讨论】:
【参考方案4】:我也有同样的问题,this link给出的解决方法
类似 /usr/bin/perl install-module.pl Module::Build 的东西可能是 够了,虽然我认为 Module::Bundle 是标准的 perl
【讨论】:
以上是关于Perl DateTime::TimeZone not found (Bugzilla install)的主要内容,如果未能解决你的问题,请参考以下文章