perl模块安装自定义路径和使用
发布时间:2020-12-16 00:16:31 所属栏目:大数据 来源:网络整理
导读:? 一 安装perl模块到非自定义目录 ? How do I get MakeMaker and Module::Build to install to the same place? Module::Build,as of 0.28,supports two ways to install to the same location as MakeMaker. 1) Use INSTALL_BASE / --install_base MakeMake
?
一 安装perl模块到非自定义目录 ?
How do I get MakeMaker and Module::Build to install to the same place?
Module::Build,as of 0.28,supports two ways to install to the same location as MakeMaker.
1) Use INSTALL_BASE / --install_base
MakeMaker (as of 6.31) and Module::Build (as of 0.28) both can install to the same locations using the "install_base" concept. See "INSTALL_BASE" in ExtUtils::MakeMaker for details. To get MM and MB to install to the same location simply set INSTALL_BASE in MM and --install_base in MB to the same location.
? ? perl Makefile.PL INSTALL_BASE=/whatever
? ? perl Build.PL ? ?--install_base /whatever
2) Use PREFIX / --prefix
Module::Build 0.28 added support for --prefix which works like MakeMaker's PREFIX.
? ? perl Makefile.PL PREFIX=/whatever
? ? perl Build.PL ? ?--prefix /whatever
? ? ? 二 使用自定义目录下的模块? BEGIN {
? ? push (@INC,'/opt/perl/lib');
}
?
BEGIN {
? ? unshift @INC,'/opt/perl/lib';
}
?
use lib '/opt/perl/lib';
?
use local::lib; # sets up a local lib at ~/perl5
use local::lib '~/foo'; # same,but ~/foo
?
# Or...
use FindBin;
use local::lib "$FindBin::Bin/../support"; ?# app-local support library
use FindBin;
use lib "$FindBin::Bin/../lib";
?
# or
use FindBin qw($Bin);
use lib "$Bin/../lib";
? 三 查找已经安装的模块?
1. Shell 脚本:
find `perl -e ‘print “@INC”‘` -name ‘*.pm’ -print
2. Perl 脚本:
#!/usr/bin/perl
use strict;
use ExtUtils::Installed;
my $inst = ExtUtils::Installed->new();
my @modules = $inst->modules();
foreach (@modules) {
my $ver = $inst->version($_) || “???”;
printf( “%-12s — %sn”,$_,$ver );
}
exit 0;
?
完!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |