【问题标题】:My Perl module from CPAN won't install, what do I do?我的 CPAN 的 Perl 模块无法安装,我该怎么办?
【发布时间】:2015-08-24 15:42:47
【问题描述】:

这是针对上述问题的典型问题,灵感来自 this answerthis question。请编辑和改进它。

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

【问题讨论】:

  • 一旦形成,也许我们应该将它链接到 cpan 或 perl 标签-wikis
  • 我从来没有让 cpan 第一次在数十个全新的 linux 安装上工作。我想知道是否有人测试过它?

标签: perl perl-module cpan


【解决方案1】:

它会构建吗?

首先要考虑的是,您的模块是否在构建?如果它没有构建,您应该检查现有的错误报告,如有必要,提交一份,或者尝试自己解决问题(下面的步骤 2 和 3b/3c)。

如果它构建但测试失败,请按照以下步骤操作。

1。判断测试是否有效

这些测试的目的是测试。如果有问题,你需要知道它,而不是把它扫到地毯下。以一种或另一种方式解决问题。您的系统是否有问题,或者这是测试本身的问题。如果这是测试的问题,它还会影响您吗?如果这是系统问题,您可能会遇到这种情况吗?例如,假设有一个测试检查您的系统和 Windows 系统之间的连接性。如果您不连接到 Windows 系统,那么该特定测试可能不适用于您。

2。检查 MetaCPAN 以获取错误报告

如果您的测试失败,请转到该模块的 MetaCPAN 网页,并检查左侧的 RT issues 以查看其他人是否遇到相同的错误。如果没有,您应该打开 RT 票证,或在项目选择的错误跟踪器中打开票证。

可能有其他用户提供的补丁。如果补丁对您有意义,您可以尝试应用它们并重新运行测试。

您也可以点击 MetaCPAN 上的 Testers 链接。 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-07
    • 2011-06-15
    • 2017-08-28
    • 2019-04-11
    • 1970-01-01
    • 2020-12-08
    • 2023-02-15
    • 1970-01-01
    相关资源
    最近更新 更多