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

2023-11-25

这是上述问题的典型问题,灵感来自这个答案 and 这个问题。请编辑并完善。

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


它到底能建造吗?

首先要考虑的是,您的模块是否正在构建?如果未构建,您应该检查现有的错误报告,必要时提交一份报告,也许还可以尝试自己修复问题(下面的步骤 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 管理员可以调查并将模块移交给您。

这是基于这个优秀的答案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的 CPAN 中的 Perl 模块无法安装,我该怎么办? 的相关文章

随机推荐