Perl Image::Imlib2对cpantests的依赖性
我在我的模块的CPantester上遇到了很多错误 (这只是一些额外的东西。像这样,我将图形依赖从主模块中移除,以供那些不需要它的人使用)。 除GNU/Linux之外的所有测试均失败: 由于我只有GNU/Linux,并且总体上缺乏一些经验,所以我在这里寻求一些帮助。 测试结果似乎表明,存在与 它说我应该小心,Image::Imlib2在“Makefile.PL”中,但是它就在那里,你可以看到: Imlib2本身没有这个问题。测试通过所有系统: 有人能给我一个提示吗? 代码位于此处:Perl Image::Imlib2对cpantests的依赖性,perl,cpan,Perl,Cpan,我在我的模块的CPantester上遇到了很多错误 (这只是一些额外的东西。像这样,我将图形依赖从主模块中移除,以供那些不需要它的人使用)。 除GNU/Linux之外的所有测试均失败: 由于我只有GNU/Linux,并且总体上缺乏一些经验,所以我在这里寻求一些帮助。 测试结果似乎表明,存在与 它说我应该小心,Image::Imlib2在“Makefile.PL”中,但是它就在那里,你可以看到: Imlib2本身没有这个问题。测试通过所有系统: 有人能给我一个提示吗? 代码位于此处: 非
非常感谢。当我尝试使用
cpan
命令在Cygwin上安装此模块时:
映像::Imlib2
模块(警告:未找到必备映像::Imlib2 0
)Image::Imlib2
Image::Imlib2
失败(必须先安装Imlib2库,然后才能安装Image::Imlib2…Make出现一些问题,无法安装)
EBook::MOBI::Image
(…继续,但成功的机会有限
)Ebook::MOBI::Image
的测试也失败了Makefile.PL
中的PREREQ\u PM=>…
指令告诉cpan努力满足先决条件,但正如您所看到的,即使先决条件安装失败,它也将继续构建。PREREQ\u PM
指令对于CPAN上的大多数模块来说已经足够好了,但是对于需要CPAN无法自行安装的外部库的模块来说就不行了
我认为,在这种情况下,如果无法加载Image::Imlib2
模块,您希望cpan测试人员退出,而这样做的地方就在Makefile.PL
的早期
if (!eval "require Image::Imlib2") {
print "This distribution requires Image::Imlib2!\n";
exit 0;
}
对于不能或不会安装
Image::Imlib2
的系统,退出Makefile.PL
将导致测试仪报告N/a
的结果,而不是失败
太多,我会尽快检查(第一顿晚餐:-))但我首先需要了解如何使用dzil构建过程影响Makefile.PL。我使用Dist::Zilla::Plugin::Run在构建后修改Makefile.PL,方法是将它添加到“[Run::AfterBuild]”部分中的Dist.ini中:“Run=sed-I'5iif(!eval“require Image::Imlib2”){print”--此发行版需要Image::Imlib2!“退出0;}“%d/Makefile.PL”