通过perl脚本安装cpan模块?

时间:2014-02-18 10:52:55

标签: perl cpan

我想要一个perl脚本,它会在运行perl脚本时自动安装所有cpan模块。你可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

CPAN客户端只是一个Perl module,它由命令行工具包装。因此,您可以直接从Perl脚本调用它。

但是,您可能需要系统管理员priveleges来安装新模块。避免这种情况的一种方法是使用local::lib,或者询问用户必要的权限。在Unix上,如果不以root身份运行,您可以拒绝运行脚本。但是,这会带来许多安全问题,应尽可能避免。

一个相当理智的解决方案是要求您的用户安装cpanm client,并在cpanfile中指定您的依赖项。然后,您的用户只需执行cpanm --installdeps /dir/of/your/script

但如果我们已经遇到了所有麻烦,你也可以做出正确的CPAN分配。您不必将其上传到CPAN,但您可以分发tarball,并让您的用户安装它。这有很多优点:成熟的工具链,自动化测试以及像Dist::Zilla这样的精彩助手,可以轻松创建分发。

答案 1 :(得分:1)

使用文档中的CPAN::Shell

CPAN::Shell->install("Acme::Meta");