perl - 停止 Perl 模块构建过程的正确方法是什么?

标签 perl build module cpan

如果我创建的 Perl 模块有类似“Makefile.PL”或“Build.PL”的东西来构建 Perl 模块,例如,该模块需要安装特定的操作系统或特定的库系统,我应该如何编写“Makefile.PL”以便构建过程正确停止?我特别感兴趣的是 CPAN 测试人员需要什么方法才能使模块在 http://www.cpantesters.org/ 上不给出“失败”结果。 .

最佳答案

引用http://wiki.cpantesters.org/wiki/CPANAuthorNotes :

“如何表明我的发行版仅适用于特定操作系统?”

虽然这不是一个非常优雅的解决方案,但推荐的方法是使用以下消息之一在 Makefile.PL 或 Build.PL(或测试文件中的 BAIL_OUT)中终止:

No support for OS
OS unsupported

CPAN Testers 工具将查找其中一个短语,并将针对该平台发送 NA(不可用)报告。

“我怎样才能停止收到缺少库或其他非 Perl 依赖项的 FAIL 报告?”

如果您有一些特殊的依赖关系并且不想在依赖关系不可用时获得 CPAN Testers 报告,只需在 Makefile 之前正常退出 Makefile.PL 或 Build.PL(退出代码为 0)或生成文件已创建。

exit 0 unless some_dependency_is_met();

关于perl - 停止 Perl 模块构建过程的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611088/

相关文章:

eclipse - 使用 Eclipse 的 Maven 2.0 集成时如何禁用 Maven 构建?

python - 全局和本地导入

node.js - 返回 promise 结果的模块

javascript - 如何确保 typescript 模块符合接口(interface)

Docker 链接太多的问题

perl 在 @INC 中找不到模块 Math::Pari 的可加载对象

perl - Perl 中的 sub _init 解释

perl - 有没有什么地方可以找到关于 Perl 模块相对流行度的信息?

visual-studio - 如何阻止数据库项目的构建

mysql - Perl:如何分割和剪切给定的字符串?