首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有自定义模块开销的情况下分发原生perl脚本?

如何在没有自定义模块开销的情况下分发原生perl脚本?
EN

Stack Overflow用户
提问于 2009-11-11 03:00:00
回答 6查看 1.5K关注 0票数 7

如何分发本机(非“已编译/perl2exe/...”)Perl脚本,而不强制用户知道脚本运行所需的自定义(非CPAN)模块?

问题是,用户将不可避免地将脚本复制到系统上的其他地方,并将脚本从其本机环境中取出,然后它将无法再找到它需要运行的模块。

我有时只是将模块复制到实际的脚本中,但我更喜欢更干净的解决方案。

更新:我最好澄清一下。我分发了一堆脚本,这些脚本恰好在后端使用了类似的模块。用户知道如何运行Perl脚本,而不是依赖于告诉他们“不,不要移动脚本”,我更喜欢简单地允许他们移动文件。阻力最小的路径。

EN

回答 6

Stack Overflow用户

发布于 2009-11-11 03:08:22

正确的方法是告诉他们“不要那样做!”我希望他们不会期望移动一个exe文件并让程序继续工作。这也没什么不同。

这就是说,有几种选择。一种是用包装器(例如pl2bat)替换脚本,它知道实际脚本的完整路径。另一种方法是使用PAR,但这需要安装PAR和/或parl (来自PAR::Packer)。

票数 6
EN

Stack Overflow用户

发布于 2009-11-11 03:05:09

如果您为客户端准备的脚本需要“自定义”模块,则只需将您的模块打包,就像您试图将它们上传到cpan一样。然后将包提供给客户端,客户端可以使用cpan实用程序安装脚本和模块。

票数 4
EN

Stack Overflow用户

发布于 2009-11-11 03:10:33

随脚本一起分发安装程序。安装程序需要以root权限运行,它会将定制模块放入标准系统位置(/usr/local/lib/perl5/site_perl或其他位置)。

我还没有尝试过,但是Module::Install在这方面看起来很有帮助。它被描述为:

独立、可扩展的Perl模块安装程序

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1710353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档