我想在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
感谢您的帮助。
答案 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]