我需要在Scientific Linux(RHEL)安装脚本中自动安装CPAN和一些Perl模块。不幸的是,据我所知,我想要的特定模块(至少其中一个)无法作为RPM:s找到。
因此,我需要安装CPAN,自动进行配置(或使用配置文件),然后也自动安装所需的模块(包括依赖项)。
这似乎不是一个非常不寻常的要求,但是我还没有看到任何非常好的文档。问题在于,每次首次启动CPAN时,都会运行交互式配置。可以以某种方式跳过吗?以及如何直接从命令行启动模块安装?
我需要在Scientific Linux(RHEL)安装脚本中自动安装CPAN和一些Perl模块。不幸的是,据我所知,我想要的特定模块(至少其中一个)无法作为RPM:s找到。
因此,我需要安装CPAN,自动进行配置(或使用配置文件),然后也自动安装所需的模块(包括依赖项)。
这似乎不是一个非常不寻常的要求,但是我还没有看到任何非常好的文档。问题在于,每次首次启动CPAN时,都会运行交互式配置。可以以某种方式跳过吗?以及如何直接从命令行启动模块安装?
Answers:
您可能想要看看cpanm;它轻巧,可编写外壳脚本,并且比传统的CPAN简单得多。
这应该做到了:
get_cpanm(){
if [ \! -f /usr/local/bin/cpanm ]; then
cd $TMP_DIR && curl --insecure -L http://cpanmin.us | perl - App::cpanminus
if [ \! -f /usr/local/bin/cpanm ]; then
echo "Downloading from cpanmin.us failed, downloading from xrl.us"
curl -LO http://xrl.us/cpanm &&
chmod +x cpanm &&
mv cpanm /usr/local/bin/cpanm
fi
fi
CPANM=$(which cpanm);
if [ \! -f "$CPANM" ]; then
echo "ERROR: Unable to find cpanm"
return 1;
fi
return 0
}
cpanm Time::HiRes CGI Moose Config::JSON other::cpanmodules
perlbrew install-cpanm
并完成。