CPAN模块先决条件

th3*_*0id 4 perl cpan

我计划很快将模块上传到CPAN.这是我贡献的第一个模块.我已经将模块用于我认为的"beta"阶段.我正在使用ExtUtils :: MakeMaker通过Makefile.PL生成一个Makefile(我已经粘贴了下面的内容).Makefile.PL脚本列出了所有prereq模块.我想知道在安装过程中的哪一点,如果不存在,则安装先决条件模块?我想知道因为我运行Makefile.PL make然后make install在一个单独的环境中缺少一些先决条件模块.但是,他们没有安装?我的印象是他们会但是我可能会错过一些东西?我正在找人提供一些清晰度.提前谢谢〜

Makefile.PL

#!/usr/bin/env perl 

use strict;
use warnings;
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME      => 'Imgur',
    VERSION   => '0.01',
    PREREQ_PM => {
        'JSON'                      => 2.90,
        'LWP::UserAgent'            => 6.05,
        'HTTP::Request::Common'     => 6.04,
        'Data::Dumper'              => 2.154,
        'DateTime::Format::ISO8601' => 0.08,
        'Config::IniFiles'          => 2.86,
        'Scalar::Util'              => 1.42,
        'Class::Std::Utils'         => 0.0.3,
        'MIME::Base64'              => 3.15,
        'File::Slurp'               => 9999.19
    }
);
Run Code Online (Sandbox Code Playgroud)

cjm*_*cjm 6

Makefile.PL不安装先决条件; 它只是抱怨,如果他们没有安装.安装先决条件是CPAN客户端的工作.

注意:Module :: Install有一个auto_install功能可以做到这一点,但普遍的共识似乎是使用它是一个坏主意.

  • 如果您使用Module :: Build而不是ExtUtils :: MakeMaker,则可以使用`.Build installdeps`.但是,有些人认为M :: B是一个失败的实验(我认为这包括它的维护者). (3认同)