我正在编写一个Perl脚本,它会对需要考虑假期的操作进行约会,因此我认为我需要Date :: Manip或Date :: Calc。我要打开这个脚本的服务器是在防火墙后面,因此CPAN无法连接到互联网。通常我可以通过将.pm文件放在Perl lib文件夹中来安装Perl模块,但是这两个模块都有C ++组件或依赖于非核心模块(YALM :: Syck for Date :: Manip)和C ++成分
我正在部署的服务器也没有GCC,因此复制安装包并在那里构建它不起作用,因为它无法编译C ++。我尝试在我的家用Linux PC上构建软件包,然后将它们复制到服务器,但是出现错误,说模块文件不正确。服务器是IBM AIX盒子,因此我为家用电脑编译的模块可能不兼容。
有什么方法可以让Date :: Manip或Date :: Calc在这台服务器上运行?我可以使用任何纯粹的Perl(包括依赖项)模块吗?
答案 0 :(得分:5)
所有收藏夹都不是纯粹的perl。
设置开发框并镜像生产服务器。在开发环境中安装编译器。构建模块并将它们打包以便在生产中进行部署(AIX有包,对吧)。
答案 1 :(得分:4)
您真的需要为您的服务器提供适当的工具链,包括编译器。在另一台机器上构建CPAN模块并复制已安装的文件是很好的,但显然构建环境必须具有与操作服务器相同的体系结构,相同的操作系统和相同的perl版本。