在为Perl安装DateTime时,我收到以下错误,但它失败了;
# Failed test 'Make sure we can add 50 years worth of years in America/New_York time zone'
# at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.
# Failed test 'Make sure we can add 50 years worth of days in America/Chicago time zone'
# at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.
# Failed test 'Make sure we can add 50 years worth of minutes in America/Denver time zone'
# at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.
# Failed test 'Make sure we can add 50 years worth of seconds in America/Los_Angeles time zone'
# at t/30future-tz.t line 45.
Use of uninitialized value in numeric ge (>=) at /home/bensley/.cpan/build/DateTime-0.72/blib/lib/DateTime.pm line 138.
# Failed test 'Make sure we can add 50 years worth of nanoseconds in America/North_Dakota/Center time zone'
# at t/30future-tz.t line 45.
Run Code Online (Sandbox Code Playgroud)
完整的输出很长,所以我把它贴在这里:http://pastebin.com/raw.php?i = JiJeH4ij
我是Perl模块的新手,因此完全迷失了.这里发生了什么?
更新:
$ perl --version
This is perl, v5.8.8 built for i486-linux-gnu-thread-multi
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.4 LTS
Release: 8.04
Codename: hardy
Run Code Online (Sandbox Code Playgroud)
这可能是你的问题.
Package seems to come without Makefile.PL.
(The test -f "/home/bensley/.cpan/build/DateTime-0.72/Makefile.PL" returned false.)
Writing one on our own (setting NAME to DateTime)
Run Code Online (Sandbox Code Playgroud)
您的CPAN客户端副本已过时,它无法识别"新"(我的意思是10年)Build.PL模块构建和安装机制.CPAN改为编写自己的安装程序并尝试进行安装.这适用于许多Perl模块,但它可能错过了DateTime所需的一些细微之处.
升级CPAN客户端,您可以使用CPAN客户端,然后再试一次.