部署C依赖的Perl库

时间:2012-04-14 17:58:02

标签: perl ncurses curses

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

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

我还需要事先为每个平台编译libncurses吗?

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

相关问题