perl - 我的 CPAN 的 Perl 模块无法安装,我该怎么办?

标签 perl perl-module cpan

这是上述问题的典型问题,受 this answer 启发。和 this question .请编辑和改进它。

我正在尝试使用 CPAN/cpanm/CPANPLUS 客户端从 CPAN 安装一个模块。但是,当我尝试安装它时,我遇到了构建或测试错误。我该怎么办?

最佳答案

它完全建立了吗?
首先要考虑的是,您的模块是否在构建?如果它没有构建,您应该检查现有的错误报告,如有必要提交一份,也许尝试自己解决问题(下面的步骤 2 和 3b/3c)。
如果它构建但测试失败,请按照以下步骤操作。
1.判断测试是否有效
这些测试的目的是为了测试。如果有问题,你需要知道它,而不是把它扫到地毯下。以一种或另一种方式解决问题。您的系统是否有问题,或者这是测试本身的问题。如果这是测试的问题,它还会影响您吗?如果这是系统问题,您可能会遇到这种情况吗?例如,假设有一个测试检查您的系统和 Windows 系统之间的连接性。如果您不连接到 Windows 系统,那么该特定测试可能不适用于您。
2. 检查 MetaCPAN 以获取错误报告
如果您有测试失败,请转到 MetaCPAN该模块的网页,并检查左侧的 RT issues看看其他人是否遇到同样的错误。如果没有,您应该打开 RT 票证,或在项目选择的错误跟踪器中打开票证。
可能有其他用户提供的补丁程序。如果补丁对您有意义,您可以尝试应用它们并重新运行测试。
您也可以单击 MetaCPAN 上的测试人员链接。 QA 测试人员网页将向您展示各种 Perl 版本、模块版本、平台,并向您展示哪些测试在特定平台上的哪些版本上失败了。您可能需要安装该模块的替代版本。
在这一点上,您可以采取一些路径。
3a。强制安装
仅当您确定失败的测试不一定适用于您时,才进行强制安装:

cpan> force install Date::Calc
这将贯穿整个安装,除了它将跳过所有测试。 (或者它仍然可以测试,但如果测试失败也不会失败。)。该模块仍然会因编译器错误或某些内容无法写入您的系统而失败。它只是忽略测试。
这应该是最后一次安装某些东西的绝望尝试。您应该已经确定失败的测试是错误或对您没有意义。或者,有人站在你旁边,用枪指着你的头说:“安装那个模块,否则我会扣动扳机!”。
3b。寻找替代模块
或者,您可以决定使用另一个模块。 CPAN 充满了各种解决问题的方法(TMTOWTDI),所以有很多方法可以满足您的需求。
3c。写一些代码
或者,您可以分析测试失败的原因并修复模块或代码。忙碌的模块作者通常会喜欢带有潜在补丁的错误报告。如果作者不想修复您的问题,您可以随时 fork 一个现有模块,或编写一个新模块。
如果作者去了MIA,你也许可以adopt the module并自己维护。 general process for adopting a module就是先尝试将代码提交给修复它的作者,然后等待一段时间,也许一个月,让作者拿起它。如果没有回复,请尝试其他联系方式、电子邮件、Google+,无论您能找到什么。之后,您可以继续 Perl IRC 聊天、邮件列表等,寻找知道作者可能在哪里的人。如果几个月后这些都不起作用,PAUSE 管理员可以调查并将模块交给您。
This is based on this excellent answer

关于perl - 我的 CPAN 的 Perl 模块无法安装,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738541/

相关文章:

javascript - Perl 脚本和 HTML 与 CGI 之间的接口(interface)

带标题的 Perl 多维表

perl - 我应该教初学者 Perl 程序员什么?

perl - 限制 CPAN 仅升级非核心模块

perl - Shell脚本中字符的小写到大写

perl - glob 没有选择与模式匹配的所有文件,语法是否存在问题

linux - Awk/Perl 将文本文件转换为具有合理格式的 csv

mysql - 用于登录数据库并进行简单查询的 Perl 模块?

Perl 应用程序安装

perl - 是否有用于 AES 的纯 Perl 模块?