我正在用Perl语言编写一个名为Kephra的程序员文本编辑器(是的,还有一个),它当然也是一个CPAN模块,并与Module::Install捆绑在一起。最近我看到Module::Build已经进入核心,所以如果我切换,我可以减少依赖。还有没有其他原因要换的?
发布于 2008-12-15 19:44:38
在"Which framework should I use to write modules?"中,cud已经在这方面做了一些研究
在吐出cud之后,我决定使用Module::Build,但显然不同的答案是可能的!(尽管到目前为止我对M::B很满意)。
发布于 2009-02-18 14:57:15
我们在我们的组中使用Module::Build。
主要原因是Easy Extensibility。
Module::Build允许您通过子类化在纯Perl中完成更多的构建过程。如果你想使用Module::Install做更多的事情,你必须了解Makefile是如何工作的。由于您可能已经了解Perl,因此这可能是一个优势。
正如您所说,使用Module::Build消除了对外部make程序的依赖,这可以看作是一件好事。
然而,我能想到的主要缺点是:
perl Makemaker.PL; make; make install范例,可以通过使用Build.PL来摆脱它们。希望这不是一个大的deal.尽管如此,我仍然推荐Module::Build,只是为了它的可扩展性。如果这对您来说不是问题,那么您最好坚持使用Module::Install。
发布于 2008-12-15 18:12:19
嗯,Module::Build是一个非常好的模块,它应该是ExtUtils::MakeMaker的一个替代品,也就是说,用一个Build.PL替换Makefile.PL,它生成一个构建而不是Makefile。这也意味着“简单的事情应该保持简单,困难的事情应该是可能的”。
Module::Install采用了一种不同的方法,并生成了一个Makefile。
此外,不要忘记并不是每个人都运行最新版本的所有内容:-)
我不记得这些模块有任何比较,但我认为你可以在Module::Build和Module::Install各自的cpanratings页面上找到一些东西。
https://stackoverflow.com/questions/369209
复制相似问题