【问题标题】:Fixing Perl CPAN modules - where to add prerequsites and what version to use?修复 Perl CPAN 模块 - 在哪里添加先决条件以及使用什么版本?
【发布时间】:2014-06-13 00:33:23
【问题描述】:

当我发现缺少先决条件的 CPAN 模块存在问题时,我想通过 rt.cpan 提供补丁或通过 GitHub 提供拉取请求来提供帮助。

假设我发现 ACME::MadeUpName 存在问题,它缺少先决条件 Foo::Bard。我可以更新Makefile.PL 并将ACME::MadeUpName 添加到PREREQ_PM 部分吗?还有其他地方我应该更新吗?

另外,我如何确定需要哪个版本的Foo::Bard?我是否只使用最新的 CPAN 版本?

【问题讨论】:

标签: perl perl-module cpan


【解决方案1】:

如果版本使用 ExtUtils::MakeMaker 或 Module::Install,则 Makefile.PL 需要更新。如果它使用 Module::Build,则改为使用 Build.PL。但在很多情况下,Build.PL 或 Makefile.PL 文件不会是作者手动维护的,而是由某种发布管理工具构建的,例如 Dist::Zilla,在这种情况下最好更改工具的配置文件,而不是 Build.PL 或 Makefile.PL(无论如何都会被覆盖)。

如果您不确定,对于此类问题,只需提交不带补丁的错误报告可能会更容易。模块作者可能需要 30 秒的时间来修复 - 他们将最熟悉自己的构建工具和发布过程。

就版本而言,除非您知道 ACME::MadeUpName 使用的 Foo::Bard 的特定功能是在更高版本中添加的,否则请声明对 Foo::Bard 0 的依赖。可能以后会发现0过于乐观了,需要更高的版本号,但是到时候可以跨过那座桥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-01
    • 2011-03-31
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    相关资源
    最近更新 更多