是否有一种简单、向后兼容的方法可以使用 CPAN 静默安装 Perl 模块?
PERL_MM_USE_DEFAULT
不适用于无法检测默认大陆的旧版本;CPAN 只会在
抱歉!由于您没有任何现有选择,因此您必须进行地理选择。
可以使用 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