【问题标题】:Installing Perl module without CPAN在没有 CPAN 的情况下安装 Perl 模块
【发布时间】:2011-12-26 01:09:39
【问题描述】:

我正在编写一个 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(包括依赖项)模块?

【问题讨论】:

  • 您不需要 Date::Manip 或 Date::Calc。你想要日期时间。

标签: perl cpan


【解决方案1】:

所有收藏夹都不是纯perl。


设置开发箱并镜像生产服务器。在开发环境中安装编译器。构建模块并将它们打包以部署到生产环境(AIX 有包,对吧‽)。

【讨论】:

  • 不是我希望的答案,但看起来我没有很多选择。我可能只是从头开始编写我需要的操作。
【解决方案2】:

您非常需要适合您的服务器的工具链,包括编译器。可以在另一台机器上构建 CPAN 模块并复制安装的文件,但显然构建环境必须具有与操作服务器相同的架构、相同的操作系统和相同的 perl 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-15
    • 2010-12-05
    • 2011-04-13
    • 2013-11-29
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2013-06-30
    相关资源
    最近更新 更多