我是cpan模块,它具有其他模块的先决条件。是否有任何过程可以确保只在安装必备模块后才能安装模块 手动安装模块。
perl MakeFile.pl
make
make test
make install
答案 0 :(得分:2)
是。使用标准的构建管理模块
ExtUtils::MakeMaker
或Module::Build
,它们具有处理先决条件的约定。
对于ExtUtils::MakeMaker
,约定是将PREREQ_PM
参数中的先决条件信息传递给WriteMakefile
函数。这是它的样子:
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'My::Module',
AUTHOR => 'Me',
VERSION_FROM => 'lib/My/Module.pm',
PREREQ_PM => {
'Some::Module' => 0.42, # need >=v0.42 of Some::Module
'Some::Other::Module' => 0, # but any version of Some::Other::Module is ok
}
dist => ... ,
clean => ... ,
...
);