1

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

我想知道最好的部署方式是Curses::UI什么?目前我通过将其他模块复制到我的本地 perllib文件夹来安装它们,但这些是不依赖于 C 库(.so 共享对象、XS 等)的纯 Perl 模块。

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

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

4

2 回答 2

2

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

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

于 2012-04-14T19:46:58.900 回答
1

对于需要构建的 CPAN 模块,请尝试查看carton。它有一个 bundle 命令,可以将所有的 cpan 模块捆绑在一起,这样它们就可以在目标机器上安装/构建,而无需涉及任何网络。

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

于 2012-04-16T13:50:49.953 回答