如何将 Perl 模块发布到 CPAN?

How do I release a Perl module to CPAN?

我需要创建一个 CPAN 模块,但我不知道从哪里开始或如何做。我已经用 Perl 编写了我的模块,但我不知道如何继续。有人可以帮忙吗?

在开始之前,您需要做两件主要的事情。

首先,您需要创建一个PAUSE account. PAUSE is the service that maintains what goes into CPAN. It's a bit dated, but start here并通读它。归结为选择名称、创建帐户并等待批准。

接下来您必须决定如何打包您的模块。您可以从各种工具中进行选择,也可以自己构建您的发行版。

  • perlnewmod explains this a little, and suggests Module::Starter,这是一个非常简单的工具。
  • Dist::Zilla 是一个非常大的发行版构建器,有很多插件,可以为您创建文档和 运行 各种测试,自动列出谁通过您的 git,还有很多其他的东西。中间还有几个工具
  • 我经常使用 Minilla,它创建一个新的模块脚手架,运行 测试,创建一个 dist 并将其上传到 CPAN,但没有别的。

您可能还想阅读我链接的每个链接的“还请参见”部分。他们互相指着。玩一玩,选一个和你说话的。

那你就得chose a name for your distribution。我在上面链接的暂停页面中有一些关于此的指导。

确保包含有用的文档、编写测试并将您的代码放在 github 上。将其放入 the meta data file.

最后,您将其捆绑,然后将其上传到 PAUSE。该捆绑包是一个具有特定名称的 tarbal。您可以手动或使用上述工具之一创建它。

可以通过网站手动上传,使用像cpan-upload, or with the bundler if it includes that feature. After a while you get an email from PAUSE that tells you it's there and waiting for indexing (CPAN Upload: ...), and then it shows up on metacpan.org这样的命令行工具。您会收到来自 PAUSE 的另一封电子邮件(PAUSE 索引器报告...),告诉您它何时准备就绪。

再过一段时间,您可能会收到来自 CPAN testers 的电子邮件,它针对多种平台对所有新上传的内容进行冒烟测试。有时东西坏了,你会听到的。这就是为什么进行良好的测试很重要。

这里有一些额外的资源: