从CPAN自动安装缺少的模块

Joe*_*Fan 3 deployment perl cpan

如果我想分发Perl脚本,那么无痛地安装用户系统中缺少的任何所需模块的最佳方法是什么?如果有一种方法甚至可以安装/升级Perl本身,如果它丢失或"太旧",则可获得额外的功劳.

dax*_*xim 6

自动安装软件是让最终用户和系统管理员对您非常生气的最佳方式.忘记这种方法.

您可以使用您的应用程序发行版简单地发送所有依赖项,该inc目录是惯用的.


yko*_*yko 3

通常这会以类似 CPAN 的包创建结束。因此,当您需要安装所有依赖项时,您键入make installdeps

请参阅perldoc perlmodlib 也可能对您和一些Makefile.PL示例Module::Install有用

Makefile.PL允许您定义 deps 和所需的 perl 版本。您还可以添加

use 5.010;
Run Code Online (Sandbox Code Playgroud)

您的脚本需要最低版本的 perl 才能运行。有关详细信息,请参阅perldoc -f 使用

  • 忘记无痛....这是正确的答案,将脚本作为 perl 模块分发。知道如何管理 Perl 发行版的用户可以轻松使用标准工具。对于知识较少的用户,提供一个调用软件包安装的脚本。总之,你的问题确实出在 Perl 上……我使用它很多年了,也遇到了同样的问题。我曾经考虑过使用 PAR 模块,但最终由于所涉及的努力而放弃了。要么拥抱 Perl,要么放弃它。我发现中间没有:-( (4认同)