部署依赖于 C 的 Perl 库



我有一个应用程序,我部署在Linux(Red Hat)和Unix(Solaris)上。我的应用程序使用内置的Perl自行安装,然后创建自己的本地Perl(新用户)。

我想知道部署Curses::UI的最佳方法是什么?目前,我只需将它们复制到本地perl lib文件夹中即可安装其他模块,但这些是纯粹的Perl模块,不依赖于C库(.so共享对象,XS等)。

我还必须事先为每个平台编译libncurses吗?

注意:计算机没有网络连接,因此我无法使用CPAN模块。

你应该使用 CPAN 客户端(CPAN.pm,CPANPLUS)来部署来自 CPAN 的 Curses::UI 等模块。通常你需要开发库来编译XS模块。对于 Curses::UI,Ubuntu 包称为 libncurses-dev 。其他 Linux 发行版可能有一个相同或相似名称的 ncurses devel 包。

说你有一个本地的Perl库。拥有本地库的一个很好的方法是同名的模块 - local::lib。它的文档将告诉您如何使用 CPAN 客户端轻松地将模块安装到本地::lib 中。

对于需要构建的CPAN模块,请尝试查看纸箱。它有一个捆绑命令,可以将所有 cpan 模块捆绑在一起,以便可以在不涉及任何网络的情况下在目标计算机上安装/构建它们。

至于libcurses,如果尚未安装,我可能会倾向于使用自定义安装程序在目标计算机上构建它。或者使您的软件拒绝安装,除非找到该库。不幸的是,除了执行自定义构建脚本之外,我不知道在本地构建依赖 C 库的好方法。

最新更新