Perl-Modle::Build-模块使用

该模块用于让你形成一个 “自己的 Perl 模块的目录”, 以便于用户拉到本地后进行安装.

调整 Config.pm 中的设置

在命令行调整 Config.pm 中的设置:

1
perl Build.PL --cofig cc=gcc --config ld=gcc

在 Build.PL 文件中调整 Config.pm 中的设置:

1
2
3
4
5
6
my $build = Module::Build->new
(
...
config => { cc => 'gcc', ld => 'gcc' },
...
);

在 Build.PL 文件中用对象调整 Config.pm 中的设置:

1
2
3
4
$build->config( cc => 'gcc' );     # Set
$build->config( ld => 'gcc' ); # Set
...
my $linker = $build->config('ld'); # Get

设置用户安装模块

注意这里的安装指的是用户把你的模块拉下来后, 安装到他的机子上, 因此这里的 requires 指的是检测用户的机子上是否安装的软件.

安装的同时执行一些 actions (用 dispatch):

1
2
3
4
5
6
7
8
9
my $build = Module::Build->new
(
module_name => 'Foo::Bar',
license => 'perl',
requires => { 'Some::Module' => '1.23' },
);
$build->dispatch('build');
$build->dispatch('test', verbose => 1);
$build->dispatch('install');

这里的 module_name 指的是你构建的目录下的 lib/Foo/Bar.pm 文件.

这里默认会安装到:

1
/usr/lib/perl5/5.*/../Module/Name # Linux

(似乎是这里)

若设置了PERL5LIB 等变量, 则会安装到那个目录下.

安装到临时目录

install 之后用 --destdir 参数:

1
./Build install --destdir /tmp/my-package-1.003

或者:

1
./Build install --install_base /foo/bar

(可查看 Module::Build 文档下的 INSTALL PATHS 章节)


Perl-Modle::Build-模块使用
http://example.com/2023/09/12/Perl-Modle-Build-模块使用/
作者
Jie
发布于
2023年9月12日
许可协议