我对 Perl 比较陌生,我需要一些帮助来重新分发非核心模块。这是整个故事。
Perl 脚本中使用了两个非核心模块: XML::简单 和 SOAP::Lite .我正在使用的版本(目前在 Windows 上)是 Strawberry Perl,因此这两个模块已经包含在内。但是,我们不知道最终用户(Unix/Linux 系统)是否拥有这两个模块,因为他们可能只有标准版本,因此只有核心模块。我的目标是让最终用户尽可能少地进行配置/安装。
首先,我尝试查看是否有任何类似于 的核心模块。 XML::简单 和 SOAP::Lite .不幸的是,我没有找到任何(如果我错了,请纠正我)。
所以我想现在唯一的选择是重新分配这两个模块。我检查了这两个模块允许重新分发。我现在的问题是如何去做。我尝试使用关键字“perl redistribute”进行谷歌搜索,但没有发现任何有用的东西。我的猜测是我们使用导出器工具来实现这一点。但这两个模块是相当复杂的模块,它们有几个嵌套的文件夹/pm 文件(以及一大堆其他文件,如 MAKE、pod、ini 文件),所以我不确定我应该做什么。我使用 exporter 找到的示例非常简单:它们只有 1 个 pm 文件和 1 个 pl 文件,它们被放置在一个文件夹中。
此外,我愿意接受任何其他更好的方法来处理这个问题。目标只是确保所有最终用户都能以最少的配置/安装工作使用我的脚本,因为我们不希望他们遇到一大堆兼容性问题。
任何帮助,将不胜感激。谢谢! =D
最佳答案
我想详细说明@ikegami 说的。
SOAP::Lite有一个 large number of CPAN dependencies ,因此安装您的模块的人将需要 CPAN 访问权限才能构建它,无论您是为他们提供它,还是将其列为依赖项。否则,您将需要提供整个依赖关系树,此时您最终会使用 perlbrew、可能是 carton,可能还可能是 local::lib,然后您可能会决定需要下一个更高级别并生成 RPM 和 DEB。
最好只提供您的脚本,打包为 CPAN 模块,列出您的依赖项,然后让芯片落在可能的位置。
关于perl - 如何在 Perl 中重新分配非核心模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347079/