perl - 如何使用 ExtUtils::MakeMaker 在 META 文件中填充 'provides' 字段

标签 perl cpan makemaker

我的一个模块未通过 CPANTS 政策 meta_yml_has_provides

文档指出:

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

如何在使用 ExtUtils::MakeMaker 时将其应用于我的 CPAN 模块?

最佳答案

你可以这样做:

use ExtUtils::MakeMaker;
use Module::Metadata;
WriteMakefile(
    ...
    META_ADD => {
        provides => Module::Metadata->provides(version => '1.4', dir => 'lib'),
    },
    ...
);

但是您的最终用户还需要依赖 Module::Metadata。您可能希望向其中添加一些仅供作者使用的逻辑以供生产使用。 YMMV.

我不确定在这方面是否真的值得。可能 MakeMaker 应该内置对此的支持。

关于perl - 如何使用 ExtUtils::MakeMaker 在 META 文件中填充 'provides' 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28924787/

相关文章:

c - XCode 4.3 - 从 XCode 4.2 升级后,perl 找不到 C 编译器

perl - 我如何与 Perl 中的 ClearCase 交互?

python - Perl Inline::Python 模块,如何将代码放入字符串中

linux - git checkout --patch,但失败,无法在@INC 中找到 Git.pm

perl - 如何告诉 MakeMaker 在子目录中构建 XS 文件?

perl - 如何使用 `Makefile.PL` 定义新的 make 任务?

perl - 哪些工具可以帮助构建 XS 项目?

perl - 仅选择第一个元素 - 条件使用 XML::Twig

regex - 如何通过 perl 和 regex 验证一个字符串只包含某些字母

perl - 为 perl 项目定义所需的包和版本