我有一个模块想要发布到 CPAN,并且我喜欢使用 dzil进行包装和发布。但是,该模块依赖于外部应用程序,虽然我知道它安装在我的计算机上的位置,但我想要求用户输入它安装在他们的计算机上的位置。已阅读Prompt user during unit test in Perl我看到 ExtUtils::MakeMaker::prompt 正是我想做的。
使用 dzil 时如何合并它(或类似的东西)?
最佳答案
标准MakeMaker dzil 插件除了基本的 Makefile.PL 之外不支持任何东西。 (嗯,它可以使用 File::ShareDir::Install ,但这就是它的限制。)如果您需要更复杂的安装时行为,则需要使用其他东西。
我推荐我的MakeMaker::Custom插入。您编写自己的 Makefile.PL,它可以执行 ExtUtils::MakeMaker 的任何操作。有能力,包括提示信息。您仍然可以让 dzil
在 dzil 构建
时添加先决条件等内容,因此您仍然可以使用 AutoPrereqs 。 (实际上,我建议使用 ModuleBuild::Custom,但如果您想坚持使用 MakeMaker,那也可以。)
注意:您还应该允许在命令行上提供提示的信息。这将帮助那些尝试使用自动构建工具打包您的发行版的人。但这是 MakeMaker 的问题,而不是 Dist::Zilla 的问题。
关于perl - 使用 Dist::Zilla 构建 perl 模块时提示用户选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12566945/