无法安装模块

时间:2019-11-21 19:13:03

标签: perl

只想下载一个模块: sudo cpan HTTP::SimpleLinkChecker 但是在查看输出时,返回了错误。

t/200.t ............ Link is http://blogs.perl.org/
t/200.t ............ 1/? Link is https://www.perl.org/
t/200.t ............ ok   
t/403.t ............ Link is http://www.pair.com/comdog/cgi-bin/403.cgi
t/403.t ............ 1/1 
#   Failed test 'Unauthorized code works'
#   at t/403.t line 9.
#          got: '200'
#     expected: '403'

但是Unauthorized code works是什么意思?即使我使用sudo特权也是如此。

第二个问题,在测试中,什么能告诉我-> t/200.tt/200.t?点的尽头是一些链接,但是如何连接在一起?

此外,cpanm建议我使用--force选项进行安装,这意味着忽略测试,但是如果这样做,后果是什么?这是否意味着模块已损坏?这样使用时会破坏我自己的脚本吗?

1 个答案:

答案 0 :(得分:3)

*.t是Perl运行的实际测试文件,未经授权的代码工作之类的名称是单独的测试(方法)。最后的输出(例如“ Link is ...”)只是测试打印到stderr上的内容。

HTTP :: SimpleLinkChecker的源代码在Github上,然后看测试, unit 测试实际上尝试连接到某些服务器(哦,我的...)。该服务器为http://www.pair.com/comdog/cgi-bin/403.cgi。当我wget时,就像您的测试一样,我也得到了200 OK的HTTP代码,但是该测试预期为403,因此失败了。

最重要的是:报告一个Peran模块的维护者brian d foy的错误(您可以使用上面的Github链接)。

--force安装模块由您决定。强制意味着忽略失败的测试并继续安装。这可能只是一次无害的单元测试失败,但是如果其他测试以不同的方式失败,我会感到怀疑。