首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用Module::Install还是Module::Build?

我应该使用Module::Install还是Module::Build?
EN

Stack Overflow用户
提问于 2008-12-15 18:07:27
回答 3查看 1.4K关注 0票数 8

我正在用Perl语言编写一个名为Kephra的程序员文本编辑器(是的,还有一个),它当然也是一个CPAN模块,并与Module::Install捆绑在一起。最近我看到Module::Build已经进入核心,所以如果我切换,我可以减少依赖。还有没有其他原因要换的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-15 19:44:38

"Which framework should I use to write modules?"中,cud已经在这方面做了一些研究

在吐出cud之后,我决定使用Module::Build,但显然不同的答案是可能的!(尽管到目前为止我对M::B很满意)。

票数 5
EN

Stack Overflow用户

发布于 2009-02-18 14:57:15

我们在我们的组中使用Module::Build

主要原因是Easy Extensibility

Module::Build允许您通过子类化在纯Perl中完成更多的构建过程。如果你想使用Module::Install做更多的事情,你必须了解Makefile是如何工作的。由于您可能已经了解Perl,因此这可能是一个优势。

正如您所说,使用Module::Build消除了对外部make程序的依赖,这可以看作是一件好事。

然而,我能想到的主要缺点是:

  • 虽然模块::Build已经达到了核心,但并不是每个人都会使用最新版本的Perl.对于使用旧版本核心的用户,您将创建一个新的dependency.
  • Lots,其中的老手(不一定是Perl人员)已经习惯了perl Makemaker.PL; make; make install范例,可以通过使用Build.PL来摆脱它们。希望这不是一个大的deal.
  • Module::Build,当它的功能发生变化时,它偶尔会破坏我们的构建,因为文档没有涵盖我们正在使用的边缘情况。然后对边缘情况进行了更改和记录,但我们必须重新编码我们的子类以使我们的构建再次工作(这在我们最近从0.2808升级到0.3时发生了)。

尽管如此,我仍然推荐Module::Build,只是为了它的可扩展性。如果这对您来说不是问题,那么您最好坚持使用Module::Install。

票数 6
EN

Stack Overflow用户

发布于 2008-12-15 18:12:19

嗯,Module::Build是一个非常好的模块,它应该是ExtUtils::MakeMaker的一个替代品,也就是说,用一个Build.PL替换Makefile.PL,它生成一个构建而不是Makefile。这也意味着“简单的事情应该保持简单,困难的事情应该是可能的”。

Module::Install采用了一种不同的方法,并生成了一个Makefile。

此外,不要忘记并不是每个人都运行最新版本的所有内容:-)

我不记得这些模块有任何比较,但我认为你可以在Module::BuildModule::Install各自的cpanratings页面上找到一些东西。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/369209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档