如何将 perl 模块存储到应用程序 alarails unpack gems 或捆绑器本地?

发布于 2024-09-13 18:22:35 字数 256 浏览 7 评论 0原文

我有许多模块想要存储在本地应用程序目录中(可能类似于 ./lib)并检查到源代码管理。理想情况下,这将包括所有模块依赖项。

最终目标是能够部署到多个盒子(只有基本的 perl 安装)并确保脚本具有所需的模块/版本。 CPAN 在部署过程中作为一个选项出现,我希望尽可能避免维护单独的内部存储库。

对于部署,所有盒子都将是相同的 os/arch。跨平台是件好事,因为我们有在 Linux 和 osx 上开发的人。

有什么想法吗?

谢谢。

I have a number of modules that I would like to store in my local app dir (perhaps something like ./lib) and check into source control. Ideally, this would include all of the module dependencies.

The end goal is to be able to deploy to a number of boxes (which only have a basic perl install) and ensure that the script has the required modules/versions. CPAN is out as an option during deployment and I want to avoid maintaining a separate internal repo if possible.

For the deployment, all of the boxes will be the same os/arch. Cross platform would be a nice to have as we have folks who develop on linux and osx.

Any ideas?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清浅ˋ旧时光 2024-09-20 18:22:35

使用 local::lib。该文档具有很强的可读性。

将 local::lib 目录填充到 VCS 中可能是一个好主意。如果您使用纯 Perl 模块(没有编译的 XS 代码),那么它应该可以在所有平台上运行。

如果您需要使用不同体系结构之间不二进制兼容的 XS 模块,那么您可能只需将两个版本的已编译模块添加到同一个 local::lib 安装中即可,因为这些模块是基于 archname 编译时设置存储在 perl 二进制文件 (perl -V) 中。

Use local::lib. The documentation is highly readable.

Stuffing your local::lib directory into a VCS is probably a good idea. If you're using pure Perl modules (no compiled XS code), then it should be working on all platforms.

If you need to use XS modules that are not binary compatible between your differing architectures, then you might just get away with adding two versions of the compiled modules into the same local::lib installation, since those modules are found based on the archname compile time setting that is stored in the perl binary (perl -V).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文