perl - 有没有最简单的方法来构建 perl 包

我在 Ubuntu 上编写了一些 Perl 库 (.pm) 和 Perlscripts(.pl),我需要将它们分发给我办公室的同事。这些脚本和库需要第三方库。我想让它变得非常简单。

关于我的信息。

  • 我知道如何创建 Perl 脚本。
  • 我知道如何创建 bash 文件。
  • 我没有创建 MAKE 文件、rpm、Deb 等的经验。

最佳答案

我建议使用 Module::Starter为每个模块设置模板。安装完成后,您可以从命令行调用 module-starter,例如:

module-starter --module=My::Module --author="Jessada Thutkawkorapin" --email=your@email.com

或者,如果您想要一个包含多个模块的发行版:

module-starter --distro=Foo --module=Foo,Foo::Bar,Foo::Baz --author="Jessada Thutkawkorapin" --email=your@email.com

然后,只需用您的模块覆盖 .pm 文件,包括您要运行的任何单元测试(默认测试基本上检查模块的语法以及 pod 语法)。然后通过

完成模块的基本安装
perl Makefile.PL
make
make test
make install

(从技术上讲,make test 是可选的,但强烈推荐使用)。

现在,如果这些模块依赖于其他 CPAN 模块,那么您可以使用模块 CPAN安装它们,例如:

use strict;
use warnings;
use CPAN;

#populate however you'd like, either hard-coded, read from a file, etc.
my @modules_to_install=(); 

foreach(@modules_to_install)
{
  CPAN::Shell->install($_);
}

因此,您可以分发 zip/tarball/etc,其中包含 module-starter 启动(以及您修改)的文件夹和文件以及上述脚本以安装任何 CPAN 依赖项,并调用例如,cpan_install.pl。如果您愿意,您可以将所有内容封装在一个名为 install.pl 的最终脚本中,该脚本执行所有这些操作。

https://stackoverflow.com/questions/9566413/

相关文章:

build - Intellij IDEA 项目中的自定义构建步骤

maven - 是否有从 Maven 到 Bazel 的迁移路径?

c++ - 在 CMake 中使用编译器前缀命令(distcc、ccache)

c# - C# 中的友元程序集

java - 从相同的源代码构建可以产生功能不同的可执行文件吗?

build - Xamarin:使用 NDK 构建的 .so

haskell - 由于 native 依赖项中的 "multiple definition"链接器

c# - Visual Studio 2010 构建错误 - 来自 HRESULT : 0x8003

.net - IoC 容器,在编译时检查错误

scala - 如何构建独立的 scala 可执行文件