我有许多模块,我想将它们存储在我的本地应用程序目录中(可能是 ./lib 之类的东西)并检查源代码控制。理想情况下,这将包括所有模块依赖项。
最终目标是能够部署到许多盒子(只有基本的 perl 安装)并确保脚本具有所需的模块/版本。CPAN 在部署期间作为一个选项不可用,我希望尽可能避免维护单独的内部存储库。
对于部署,所有框都将是相同的 os/arch。跨平台将是一件好事,因为我们有在 linux 和 osx 上开发的人。
有任何想法吗?
谢谢。
我有许多模块,我想将它们存储在我的本地应用程序目录中(可能是 ./lib 之类的东西)并检查源代码控制。理想情况下,这将包括所有模块依赖项。
最终目标是能够部署到许多盒子(只有基本的 perl 安装)并确保脚本具有所需的模块/版本。CPAN 在部署期间作为一个选项不可用,我希望尽可能避免维护单独的内部存储库。
对于部署,所有框都将是相同的 os/arch。跨平台将是一件好事,因为我们有在 linux 和 osx 上开发的人。
有任何想法吗?
谢谢。
使用local::lib。该文档具有高度可读性。
将 local::lib 目录填充到 VCS 中可能是个好主意。如果您使用的是纯 Perl 模块(没有编译的 XS 代码),那么它应该可以在所有平台上运行。
如果您需要在不同架构之间使用二进制不兼容的 XS 模块,那么您可能只需将两个版本的已编译模块添加到同一个 local::lib 安装中,因为这些模块是根据archname
编译时间找到的存储在 perl 二进制文件 ( perl -V
) 中的设置。