它到底能建造吗?
首先要考虑的是,您的模块是否正在构建?如果未构建,您应该检查现有的错误报告,必要时提交一份报告,也许还可以尝试自己修复问题(下面的步骤 2 和 3b/3c)。
如果可以构建但测试失败,请按照以下步骤操作。
1. 判断测试是否有效
这些测试的目的是test。如果出现问题,您需要了解它,而不是掩盖它。以一种或另一种方式解决问题。您的系统上是否存在问题,或者这是测试本身的问题。如果这是测试的问题,还会影响您吗?如果这是系统问题,您可能会遇到这种情况吗?例如,假设有一个测试检查您的系统和 Windows 系统之间的连接性。如果您不连接到 Windows 系统,则该特定测试可能不适用于您。
2. 检查 MetaCPAN 的错误报告
如果测试失败,请转至MetaCPAN该模块的网页,并检查左侧的 RTissues看看其他人是否遇到同样的错误。如果没有人,您应该开一张 RT 票证,或者在项目选择的错误跟踪器中开一张票证。
其他用户可能有可用的补丁。如果补丁对您有意义,您可以尝试应用它们并重新运行测试。
您还可以点击TestersMetaCPAN 上的链接。 QA 测试人员网页将向您显示各种 Perl 版本、模块版本、平台,并显示哪些测试在哪些版本的特定平台上失败。您可能需要安装该模块的替代版本。
此时,您可以采取几条路径。
3a.强制安装
仅当您确定失败的测试不一定适用于您时,才进行force安装:
cpan> force install Date::Calc
这将贯穿整个安装,但它会跳过所有测试。 (或者也许它仍在测试,但如果测试失败也不会失败。)。该模块仍会因编译器错误或无法将某些内容写入系统而失败。它只是忽略测试。
这应该是最后一次绝望地尝试安装某些东西。您应该已经确定失败的测试是错误或对您没有意义。或者,有人站在你旁边,用枪指着你的头说:“安装那个模块,否则我就扣动扳机!”.
3b.寻找替代模块
或者,您可以决定使用另一个模块。 CPAN 充满了解决问题的各种方法(TMTOWTDI),所以有很多人可以做你想做的事。
3c.写一些代码
或者,您可以分析测试失败的原因并修复模块或代码。忙碌的模块作者通常会欣赏带有潜在补丁的错误报告。如果作者看起来不想接受您的修复,您可以随时分叉现有模块,或编写一个新模块。
如果作者已经消失了,你也许可以采用该模块并自行维护。这采用模块的一般流程首先尝试向作者提交修复它的代码,然后等待一段时间,也许一个月,让作者接受。如果没有回复,请尝试其他联系方式:电子邮件、Google+,以及任何您能找到的方式。之后,您可以继续 Perl IRC 聊天、邮件列表等,寻找知道作者可能在哪里的人。如果几个月后这些都不起作用,PAUSE 管理员可以调查并将模块移交给您。
这是基于这个优秀的答案