2010-08-12 62 views
0

我在CentOS5.5上測試我的項目安裝腳本。 我的項目需要日期:: MANIP模塊需要功能模塊...如何在CPAN上處理需要Perl devel版本的模塊?

當我嘗試安裝它(功能)通過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. 

我該如何處理這類問題?

+0

當前安裝了哪個版本的perl? 5.9.5約3歲。 – eldarerathis 2010-08-12 13:23:40

+0

關於CentOS 5.5,它是Perl 5.8.8 ... :(和升級到Perl 5.10只是爲我的項目是不是一個選項... – sebthebert 2010-08-12 13:50:40

回答

5

日期:: MANIP需要Perl 5.10發揮作用,見到META.yml

requires: 
    ... 
    perl: 5.010 

older version (5.56)而只需要Perl 5.001發揮作用,因此應該是安全的爲您安裝。

換句話說,如果你想要最新版本,你必須更新你的系統的perl至少5.10。不幸的是,CentOS帶有一箇舊的5.8.8版本。

+0

如何安裝舊版本? (從cpan cli不從cpan shell) – sebthebert 2010-08-12 13:48:28

+3

'cpan SBECK/Date-Manip-5.56.tar.gz' – daxim 2010-08-12 14:05:37

+0

或者,如果你有App :: cpanminus,cpanm http://search.cpan.org/CPAN/authors/ ID/S/SB/SBECK/Date-Manip-5.56.tar.gz – mfontani 2010-08-12 14:16:58

4

use feature是首次在5.10穩定版本中引入的Perl雜注。

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

CPAN在這裏是錯誤的,不要讓它安裝一個開發Perl版本。

+0

「CPAN在這裏是錯誤的」不幸的是,這是解決方案 – Axeman 2010-08-12 13:29:06

+0

你怎麼敢質疑偉大而強大的CPAN精靈!?!?!(對不起,剛剛注意到今天的Google塗鴉:) +1 – DVK 2010-08-12 13:44:38

+2

@DVK在我的夢中,CPAN只會建議符合系統上安裝的Perl版本的模塊...... :) – sebthebert 2010-08-12 14:18:32

3

在您的具體情況中,您當然可以使用5.9之後的穩定版本Perl 5.10。

在一般情況下,如果沒有以後的穩定版本,首先應該嘗試查看所需的模塊是否具有與Perl版本兼容的舊版本。

如果不是,這是一個風險/回報權衡。在生產環境中,我個人傾向於避免任何開發分支,除非關鍵項目的成功只針對您需要的模塊,並且您不能使用其他模塊或自行開發。到目前爲止,我從來沒有遇到過一種情況 - 甚至不能說出一個合理的情況 - 沒有解決方法。

0

Centos項目提供了一個與他們的Perl版本一起工作的Date :: Manip版本。它已預先打包,可與yum一起使用。目前似乎是Date :: Manip版本5.44(它早於Perl 5.10的要求)。

$ sudo yum install perl-Date-Manip 

另外,您確定要使用Date :: Manip嗎? DateTime通常是更好的選擇。