如何进行无人值守/静默的 CPAN 安装/设置

如何进行无人值守/静默的 CPAN 安装/设置

是否有一种简单、向后兼容的方法可以使用 CPAN 静默安装 Perl 模块?

PERL_MM_USE_DEFAULT不适用于无法检测默认大陆的旧版本;CPAN 只会在

抱歉!由于您没有任何现有选择,因此您必须进行地理选择。

CPAN::FirstTime

可以使用 Perl 代码片段来加载 CPAN 并对其进行配置,但这很冗长而且不美观。

答案1

通常,您应该尽可能选择在 Linux 上使用分发包管理来管理 Perl 模块,但有时您需要的模块未被携带,您使用的是不同版本的 perl(可能通过 perlbrew)等。因此,您需要使用 CPAN 进行安装,并且可能需要自动化它以便在 Docker、Vagrant、AWS 等中使用。

有一个专门的工具可以做到这一点,cpanminus 或亚太经合组织。根据上面链接的文档,它可以直接安装,而不需要已经设置 CPAN。

许多发行版包管理系统也带有 cpanminus。

精彩perlbrew工具知道如何使用以下方式将 cpanminus 静默安装到其管理环境中:

perlbrew install-cpanm

因此您不需要弄乱PERL_MM_USE_DEFAULT、Perl 脚本use CPAN并直接对其进行配置、expect脚本、手动创建文件~/.cpan等。

一旦安装了 cpanm,您就可以

cpanm install IPC::Run

或者其他任何东西,并且它运行起来没有任何问题。

答案2

请考虑:

sudo cpan install YAML::XS <<<yes

答案3

或者:

sudo apt install cpanminus

cpanm -S YAML::XS

相关内容