0

我正在 CentOS5.5 上测试我的项目安装脚本。我的项目需要Date::Manip模块,它需要功能模块...

当我尝试通过 CPAN 安装它(功能)时,CPAN 想要安装 Perl 5.9.5...

*** WHOA THERE!!! ***

    This is an UNSTABLE DEVELOPMENT release.
    The version of this perl5 distribution is 9, that is, odd,
    (as opposed to even) and that signifies a development release.
    If you want a maintenance release, you want an even-numbered version.

    Do ***NOT*** install this into production use.
    Data corruption and crashes are possible.

    It is most seriously suggested that you do not continue any further
    unless you want to help in developing and debugging Perl.

    If you *still* want to build perl, you can answer 'y' now,
    or pass -Dusedevel to Configure.

我该如何处理这种问题?

4

5 回答 5

5

Date::Manip 需要 Perl 5.10 才能运行,请参阅META.yml

requires:
  ...
  perl: 5.010

版本 (5.56)只需要 perl 5.001 即可运行,因此安装起来应该是安全的。

换句话说,如果您想要最新版本,您必须将系统的 perl 更新到至少 5.10。不幸的是,CentOS 带有一个旧的 5.8.8 版本。

于 2010-08-12T13:31:45.527 回答
4

use feature是在 5.10 稳定版本中首次引入的 Perl 编译指示。

这可能意味着Date::Manip需要 Perl 5.10。

CPAN 在这里是错误的,不要让它安装开发 Perl 版本。

于 2010-08-12T13:27:48.333 回答
3

在您的具体情况下,您当然可以使用 Perl 5.10,它是 5.9 之后的下一个稳定版本。

在一般情况下,当没有更高的稳定版本时,首先您应该尝试查看您想要的模块是否具有与您的 Perl 版本兼容的旧版本。

如果不是,这是一个风险/回报的权衡。在生产环境中,我个人倾向于避免使用任何开发分支,除非关键项目的成功仅取决于您需要的模块,并且您不能使用其他模块或滚动自己的模块。到目前为止,我从未遇到过没有解决方法的情况——甚至无法想象一个合理的情况。

于 2010-08-12T13:30:08.577 回答
1

@sebthebert 如果您希望 CPAN.pm 仅尝试安装已知可与您的 perl 版本一起使用的模块,请参阅http://cpxxxan.barnyard.co.uk/

于 2011-02-15T11:27:26.890 回答
0

Centos 项目提供了一个可以与他们的 Perl 版本一起使用的 Date::Manip 版本。它已预先打包以与yum. 目前这似乎是 Date::Manip 5.44 版(早于 Perl 5.10 的要求)。

$ sudo yum install perl-Date-Manip

顺便说一句,您确定要使用 Date::Manip 吗?DateTime 通常是更好的选择。

于 2011-10-21T09:15:36.543 回答