【问题标题】:Perl module WWW:RobotRules won't installPerl 模块 WWW:RobotRules 不会安装
【发布时间】:2020-08-03 16:32:50
【问题描述】:

最初,我想安装 XML::Parser::Expat 模块,该模块给出了一条消息 Tests succeeded 但一个依赖项不正常 (LWP::UserAgent),当尝试安装它时,它也会给出一个关于一个依赖项不正常的消息( WWW::RobotRules);另外测试工具失败。 现在安装 WWW::RobotRules 会给我:

""Test Summary Report
-------------------
t/rules-dbm.t (Wstat: 0 Tests: 13 Failed: 1)
  Failed test:  12
Files=2, Tests=63,  0 wallclock secs ( 0.01 usr  0.02 sys +  0.03 cusr  0.04 csys =  0.10 CPU)
Result: FAIL
Failed 1/2 test programs. 1/63 subtests failed.
make: *** [Makefile:840: test_dynamic] Error 255
  GAAS/WWW-RobotRules-6.02.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports GAAS/WWW-RobotRules-6.02.tar.gz

我该如何解决这个问题?

问候,

[已编辑]

Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 28 Jul 2020 01:41:03 GMT
Running install for module 'WWW::RobotRules'
Checksum for /root/.cpan/sources/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz ok
Configuring G/GA/GAAS/WWW-RobotRules-6.02.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for WWW::RobotRules
Writing MYMETA.yml and MYMETA.json
  GAAS/WWW-RobotRules-6.02.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for G/GA/GAAS/WWW-RobotRules-6.02.tar.gz
cp lib/WWW/RobotRules/AnyDBM_File.pm blib/lib/WWW/RobotRules/AnyDBM_File.pm
cp lib/WWW/RobotRules.pm blib/lib/WWW/RobotRules.pm
Manifying 2 pod documents
  GAAS/WWW-RobotRules-6.02.tar.gz
  /usr/bin/make -- OK
Running make test for GAAS/WWW-RobotRules-6.02.tar.gz
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/rules-dbm.t .. Failed 1/13 subtests
t/rules.t ...... ok

测试很冗长

t/rules-dbm.t ..
1..13
ok 1
Rules: /aas /per /god /old
ok 2
Rules:
ok 3
No visits: 2
Last visit: 1595923839
Fresh until: 1627459829
ok 4
ok 5
ok 6
Agent-Name: myrobot
ok 7
*** Dump of database ***
|ua-name|       myrobot
www.aas.no:80|vis       3; 1595923839; Tue Jul 28 17:10:39 2020
www.sn.no:80|vis        1; 1595923829; Tue Jul 28 17:10:29 2020
www.aas.no:80|exp       1627459829; Wed Jul 28 17:10:29 2021
******
ok 8
ok 9
ok 10
ok 11
not ok 12
*** Dump of database ***
|ua-name|       MOMSpider
www.sn.no:8080|r2       /bar
www.sn.no:8080|exp      1595923832; Tue Jul 28 17:10:32 2020
www.sn.no:8080|r1       /foo
******
No agent name specified at t/rules-dbm.t line 122.
ok 13
Failed 1/13 subtests
t/rules.t ......
1..50
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok

Test Summary Report
-------------------
t/rules-dbm.t (Wstat: 0 Tests: 13 Failed: 1)
  Failed test:  12
Files=2, Tests=63,  0 wallclock secs ( 0.00 usr  0.03 sys +  0.01 cusr  0.06 csys =  0.10 CPU)
Result: FAIL

【问题讨论】:

  • 请在详细模式下运行测试,以便我们看看出了什么问题。
  • 希望添加的文字没问题。我运行安装为:sudo cpan WWW::RobotRules。我不知道如何详细说明测试!
  • 您确定需要 sudo 吗?您是否正在安装系统和所有用户都将使用的东西?如果没有,请参阅local::lib
  • 要运行详细测试,请运行 cpan 客户端,在其中运行 make WWW::RobotRules,然后运行 ​​look WWW::RobotRules,这将打开一个运行 prove -bv 的 shell。
  • 在外观外壳中,尝试在第 102 行编辑 t/rules-dbm.t:,增加睡眠中的数量(例如增加到 10)并再次运行测试。

标签: perl


【解决方案1】:

由于某种原因,睡眠功能无法正常工作。我将 t/rules-dbm.t 中的这一行替换为另一个等待函数。

sleep(5) to select(undef, undef, undef, 5)

但是,我不知道原因。我在新代码中尝试了 sleep() 并且只有 sleep() 会给出无限的等待时间,但是我写的任何秒数(例如 3000000000000)它都没有等待并立即执行以下行。我希望如果有人知道原因告诉我。

【讨论】:

  • 你运行什么版本的 Perl?你是怎么安装的?
  • perl 5,版本 30,subversion 0 (v5.30.0) 为 x86_64-linux-gnu-thread-multi 构建。我想我默认拥有它。
猜你喜欢
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 2011-11-24
  • 1970-01-01
  • 2013-01-29
  • 2016-07-11
相关资源
最近更新 更多