我有几台运行Perl程序以及其他程序和工具的Linux机器.
我想使所有机器之间的所有工具保持同步,因此我已经在一台机器(主)和另一台机器之间共享了/usr/local目录.
现在,我想在/usr/local /< modules的路径>中使所有Perl模块及其依赖项保持同步.
我已经找到了local::lib模块,但这是为了将模块安装到您的主目录中.
如何设置CPAN(或CPAN替代产品)以将所有模块和依赖项安装到一个位置?以及如何在其他计算机上设置Perl以使用该位置查找模块?
解决方法:
为了方便起见,让我们将基本位置分配给变量:(此var除了以下命令外,不被其他任何东西使用.实际上,无需导出它.)
export PERL_BASE="/usr/local/perl" # Or "$HOME" or whatever
指示ExtUtils :: MakeMaker安装位置:(这假设$PERL_BASE不包含任何外壳程序元字符)
export PERL_MM_OPT="INSTALL_BASE=$PERL_BASE"
Instruct Module :: Build安装位置:(这假设$PERL_BASE不包含任何shell元字符)
export PERL_MB_OPT="--install_base $PERL_BASE"
指示Perl在哪里寻找模块:(这假设$PERL_BASE不包括:)
export PERL5LIB="$PERL_BASE/lib/perl5"
指示系统在哪里查找脚本:(这假定$PERL_BASE不包括:)
export PATH="$PERL_BASE/bin${PATH:+:$PATH}"
指示系统在哪里查找手册页:(这假定$PERL_BASE不包括:)
export MANPATH="$PERL_BASE/man${MANPATH:+:$MANPATH}"
全部一起:
export PERL_BASE="/usr/local/perl"
export PERL_MM_OPT="INSTALL_BASE=$PERL_BASE"
export PERL_MB_OPT="--install_base $PERL_BASE"
export PERL5LIB="$PERL_BASE/lib/perl5"
export PATH="$PERL_BASE/bin${PATH:+:$PATH}"
export MANPATH="$PERL_BASE/man${MANPATH:+:$MANPATH}"
标签:perl-module,cpan,linux,perl
来源: https://codeday.me/bug/20191111/2022880.html