如何让Dist :: zilla在YAML中指定最小Perl版本?

时间:2019-05-03 20:59:58

标签: perl dist-zilla

我想在yaml文件中指定所需的最低Perl版本。虽然我确实将perl放在dist.ini的要求中,但我认为我需要一些模块才能在构建时将其写入yaml文件。

我的dist.ini是https://metacpan.org/source/PROCH/Proch-N50-0.032/dist.ini

此处描述了kwalitee问题https://cpants.cpanauthors.org/kwalitee/meta_yml_declares_perl_version

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

为发行版指定最低Perl版本的约定是运行时,需要'perl'的先决条件。 (注意:我说的是惯例,因为没有'perl'模块,并且如果它太旧了,您实际上就不能使CPAN客户端安装更新的Perl。)适当的插件会读取此内容并根据它设置其他内容,如生成的Makefile.PL中的“使用5.XXX”。您需要使用一个可以设置前置条件的插件,例如[@Basic],而不是将前置条件作为选项传递给[Prereqs]Here is the documentation。您可能希望像这样使用它:

[Prereqs / RuntimeRequires]
perl = 5.018
JSON = 0

您可以将Prereqs插件更多次用于不同的Phase + Relationship组合,但是它们每个必须具有唯一的名称(/后面的部分)。

答案 1 :(得分:2)

您可以如上所述明确地执行此操作,也可以通过Dist::Zilla::Plugin::MinimumPerlFast

自动进行处理
# In your dist.ini:
[MinimumPerlFast]