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)的主要内容,如果未能解决你的问题,请参考以下文章

python中的时区有几分钟的变化

Python模块---datetime

sqlalchemy默认时间

使用“datetime”获取实时偏移时出错

python设置网络时间

perl 斐波那契数列