如何在CPAN上处理需要Perl devel版本的模块?

时间:2010-08-12 13:17:45

标签: perl cpan centos5

我在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.

我该如何处理这类问题?

5 个答案:

答案 0 :(得分:5)

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

requires:
  ...
  perl: 5.010

older version (5.56)只需要perl 5.001即可运行,因此您可以安全地安装。

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

答案 1 :(得分:4)

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

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

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

答案 2 :(得分:3)

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

在通用情况下,如果没有以后的稳定版本,首先应该尝试查看您想要的模块是否具有与Perl版本兼容的旧版本。

如果没有,那就是风险/回报权衡。在生产环境中,我个人倾向于避免任何开发分支,除非关键项目的成功仅仅隐藏在您需要的模块上,并且您不能使用其他模块或自己动手。到目前为止,我从来没有遇到过这样的情况 - 甚至不能说出一个看似合理的情况 - 那里没有解决方法。

答案 3 :(得分:1)

@sebthebert如果您希望CPAN.pm只尝试安装已知适用于您的perl版本的模块,请参阅http://cpxxxan.barnyard.co.uk/

答案 4 :(得分:0)

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

$ sudo yum install perl-Date-Manip

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

相关问题