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

Cra*_*ger 3 unattended silent perl cpan

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

PERL_MM_USE_DEFAULT不适用于未检测到默认大陆的旧版本;CPAN 将在

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

CPAN::FirstTime

可以使用 Perl 片段来加载 CPAN 并对其进行配置,但这既冗长又丑陋。

Cra*_*ger 5

您通常应该尽可能在 Linux 上对 Perl 模块使用分发包管理,但有时您需要的模块没有被携带,您使用的是不同版本的 perl(可能通过 perlbrew)等。所以您需要安装使用 CPAN,您可能需要将其自动化以在 Docker、Vagrant、AWS 等中使用。

有一个专门的工具, cpanminus 或cpanm。根据上面链接的文档,它可以直接安装而无需已经设置 CPAN。

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

精彩perlbrew工具知道如何静默安装cpanminus与它的管理环境

perlbrew install-cpanm
Run Code Online (Sandbox Code Playgroud)

所以你不需要弄乱PERL_MM_USE_DEFAULT, Perl 脚本use CPAN并直接配置它,expect脚本,手动创建文件~/.cpan等。

一旦安装了 cpanm,你就可以

cpanm install IPC::Run
Run Code Online (Sandbox Code Playgroud)

或者其他什么,它运行起来没有大惊小怪。