我听说最好不要从系统版本的Perl所在的CPAN安装模块。我知道如何使用命令行来安装模块,我只是想知道是否有方法将CPAN与系统的核心Perl分开。安装CPAN模块而不搞乱系统Perl安装
我应该:
下载源,并作出专门的目录,这些模块?
任何人有任何其他想法或实现,他们已经成功地使用?
我听说最好不要从系统版本的Perl所在的CPAN安装模块。我知道如何使用命令行来安装模块,我只是想知道是否有方法将CPAN与系统的核心Perl分开。安装CPAN模块而不搞乱系统Perl安装
我应该:
下载源,并作出专门的目录,这些模块?
任何人有任何其他想法或实现,他们已经成功地使用?
CPAN总是从芯分离 - 注意如何/usr/lib/perl5
具有子目录core_perl
,vendor_perl
(由发行版包装CPAN模块)和site_perl
(模块本地安装的)。
两个的ExtUtils :: MakeMaker的和模块::建设默认安装一切 “网站” 目录;这也适用于您使用cpan
或cpanm
命令安装的所有内容。如果你使用你的Linux发行版软件包,他们将转到“供应商”路径。
您可以指定不同的安装位置(例如,保持在你家directlry所有CPAN模块)使用:
dir=~/perl5
export PERL5LIB="${dir}"
export PERL_MM_OPT="INSTALL_BASE='${dir}'"
export PERL_MB_OPT="--install-base '${dir}'"
你可以在你的$HOME
目录安装个人库,在一个子目录是你可以命名为.perl5
。这是一个很好的做法(即使你在主机上没有超级用户权限)。
如果可执行文件和必须由同一主机上用户共享的二进制文件,好的做法是安装手动添加部分/usr/local/...
(您这里需要是su
或使用sudo
)
确保路径被安装程序正确地简单地测试它们。
当您安装在系统目录中时,您要承担的风险是每个与系统相关的Perl脚本都将使用这些模块。如果其中一个模块是系统使用的更新且不兼容的模块版本,那么您将不会感到满意。
安装在私人目录中的建议方法是使用local :: lib。请参阅引导技术:https://metacpan.org/module/local::lib
设置local :: lib后,可以使用任何标准CPAN客户端来安装模块。
@KarthikT我以为我会在这两个网站上得到意见。我应该关闭这个吗? – squiguy
我不确定在这种情况下的规则,你可以保留它现在 –
是不是一个确切的副本http://stackoverflow.com/questions/13928005/install-cpan-modules-without-messing -up-the-system-perl-installation? – creaktive