2012-12-18 129 views
0

我听说最好不要从系统版本的Perl所在的CPAN安装模块。我知道如何使用命令行来安装模块,我只是想知道是否有方法将CPAN与系统的核心Perl分开。安装CPAN模块而不搞乱系统Perl安装

我应该:

下载源,并作出专门的目录,这些模块?

任何人有任何其他想法或实现,他们已经成功地使用?

+0

@KarthikT我以为我会在这两个网站上得到意见。我应该关闭这个吗? – squiguy

+0

我不确定在这种情况下的规则,你可以保留它现在 –

+1

是不是一个确切的副本http://stackoverflow.com/questions/13928005/install-cpan-modules-without-messing -up-the-system-perl-installation? – creaktive

回答

0

CPAN总是从芯分离 - 注意如何/usr/lib/perl5具有子目录core_perlvendor_perl(由发行版包装CPAN模块)和site_perl(模块本地安装的)。

两个的ExtUtils :: MakeMaker的模块::建设默认安装一切 “网站” 目录;这也适用于您使用cpancpanm命令安装的所有内容。如果你使用你的Linux发行版软件包,他们将转到“供应商”路径。

您可以指定不同的安装位置(例如,保持在你家directlry所有CPAN模块)使用:

dir=~/perl5 

export PERL5LIB="${dir}" 
export PERL_MM_OPT="INSTALL_BASE='${dir}'" 
export PERL_MB_OPT="--install-base '${dir}'" 
0

你可以在你的$HOME目录安装个人库,在一个子目录是你可以命名为.perl5。这是一个很好的做法(即使你在主机上没有超级用户权限)。

如果可执行文件和必须由同一主机上用户共享的二进制文件,好的做法是安装手动添加部分/usr/local/...(您这里需要是su或使用sudo

确保路径被安装程序正确地简单地测试它们。

0

当您安装在系统目录中时,您要承担的风险是每个与系统相关的Perl脚本都将使用这些模块。如果其中一个模块是系统使用的更新且不兼容的模块版本,那么您将不会感到满意。

安装在私人目录中的建议方法是使用local :: lib。请参阅引导技术:https://metacpan.org/module/local::lib

设置local :: lib后,可以使用任何标准CPAN客户端来安装模块。