Perl:安装CPAN模块时出错

问题描述:

我在Mac OS X 10.5上运行,我想用Perl编写程序。但是,我需要安装模块RDF::TrineDBD::CSV,并且在安装时出现错误。Perl:安装CPAN模块时出错

如果我写:

install RDF::Trine

的错误是:

Files=51, Tests=5, 2 wallclock secs (0.21 usr 0.18 sys + 1.30 cusr 0.51 csys = 2.20 CPU) 
Result: FAIL 
Failed 49/51 test programs. 5/5 subtests failed. 
make: *** [test_dynamic] Error 2 
    /usr/bin/make test -- NOT OK 
Running make install 
    make test had returned bad status, won't install without force

而对于安装DBD的错误:: CSV是:

Files=21, Tests=18, 1 wallclock secs (0.10 usr 0.08 sys + 0.85 cusr 0.26 csys = 1.29 CPU) 
Result: FAIL 
Failed 16/21 test programs. 2/18 subtests failed. 
make: *** [test_dynamic] Error 255 
    /usr/bin/make test -- NOT OK 
Running make install 
    make test had returned bad status, won't install without force

你有解决方案吗?

+6

你能发布完整的测试结果吗?没有这个输出就很难说出有什么问题。 – szbalint 2010-08-12 19:23:10

+0

我想回答你的要求。但是,现在当我在cpan shell中输入内容时,出现此错误: 在/Library/Perl/5.8.8/Term/ReadLine/readline中,参数“yes”不是数字ge(> =) .pm line 2192. 程序崩溃... 你知道这个的原因吗? 这可能是因为我运行了2个CPAN进程,他问我一些奇怪的问题... – user376112 2010-08-12 19:57:57

+0

也许这些模块从未在MAC OS上进行过测试。快速浏览CPAN上的平台版本矩阵不会显示MAC。 – toolic 2010-08-12 21:36:19

你能后的输出:

cpan RDF::Trine 

甚至

cpan Bundle::CPAN 

一个很多Perl开发发展在MacOS。如果它没有开箱即用,我会很惊讶。

更新,更容易阅读cpan输出在这里比评论。它看起来像你的CPAN设置为忽略依赖关系:

---- Unsatisfied dependencies detected during ---- 
----  GWILLIAMS/RDF-Trine-0.125.tar.gz  ---- 
    Text::Table [requires] 
    DBD::SQLite [requires] 
    XML::LibXML::SAX [requires] 
    Unicode::Escape [requires] 
    Unicode::String [requires] 
    Text::CSV [requires] 
    Error [requires] 
    Test::Exception [requires] 
    Test::JSON [requires] 
    XML::Namespace [requires] 
    Data::UUID [requires] 
    Math::Combinatorics [requires] 
    Set::Scalar [requires] 
    XML::CommonNS [requires] 
    XML::LibXML [requires] 
    JSON [requires] 
    Log::Log4perl [requires] 
    Ignoring dependencies on modules ARRAY(0x4d22268), ARRAY(0x5463770), ARRAY(0x4d1bbe4), ARRAY(0x4d22724), ARRAY(0x4d21fc8), ARRAY(0x4d226c4), ARRAY(0x4d21fa4), ARRAY(0x5463830), ARRAY(0x5463878), ARRAY(0x4d24cf0), ARRAY(0x4d22784), ARRAY(0x4d21f74), ARRAY(0x4d21f5c), ARRAY(0x4d21e3c), ARRAY(0x4d21ee4), ARRAY(0x4d21d4c), ARRAY(0x4d21e84), ARRAY(0x4d21c80), ARRAY(0x4d21efc), ARRAY(0x4d2219c), ARRAY(0x4d21fb0), ARRAY(0x4d2213c), ARRAY(0x4d21ddc), ARRAY(0x4d2264c), ARRAY(0x4d21ed8), ARRAY(0x5463818), ARRAY(0x4d21d94), ARRAY(0x4d22640), ARRAY(0x4d21de8), ARRAY(0x4d1bb00), ARRAY(0x4d21c98), ARRAY(0x4d2225c), ARRAY(0x4d21f68), ARRAY(0x4d22334) 

prerequisites_policy是配置变量控制此行为。

确认通过运行o conf prerequisites_policy的设置,如果它被设置为比ask其他任何东西,运行:

o conf prerequisites_policy ask 
o conf commit 

(这些都是小写字母“哦”)

然后重复你的CPAN命令。

+0

/usr/bin/tar:从 - 读取4608个字节RDF-Trine-0.125/bin/rdf_transcode。pl CPAN:File :: Temp loaded ok(v0.22) ---- ---- ----中检测到的不完全依赖关系---- GWILLIAMS/RDF-Trine-0.125.tar.gz ---- ExtUtils :: MakeMaker [build_requires] 忽略对模块ARRAY(0x3148da4),ARRAY(0x3148cb4) 的依赖关系在/Library/Perl/Updates/5.8.8/CPAN/Distribution.pm行667处未到达。 这只是结束因为*不允许我发布更多... – user376112 2010-08-13 07:11:52

+0

如果我应用sudo cpan Bundle :: CPAN,Ive出错: 非零退出状态:2 解析错误:错误的计划。您计划了2个测试,但跑0。 t/04_pwhich.t(Wstat:512测试:0失败:0) 非零退出状态:2 解析错误:错误的计划。您计划了4个测试,但运行了0. Files = 7,测试= 14,0 wallclock秒(0.04 usr 0.03 sys + 0.14 cusr 0.04 csys = 0.25 CPU) 结果:失败 失败的2/7测试程序。 0/14分测验失败。 make:*** [test_dynamic]错误255 ADAMK/File-Which-1.09.tar.gz /usr/bin/make test - NOT OK //提示//要查看安装的cpan-testers结果这个模块,请尝试: – user376112 2010-08-13 07:14:31

+2

Downvote教学'sudo cpan'。这根本不是一个好主意,因为这些测试以root权限运行。相反,它们只能用于安装到系统位置。由于这个原因,存在['make_install_make_command'和'mbuild_install_build_command'](http://p3rl.org/CPAN#Config_Variables)。 – daxim 2010-08-13 07:44:29

您可以安装Perl模块,有力地

的perl -MCPAN -e'force安装“RDF ::特里尼””

RDF ::特里尼是模块名称