gpt4 book ai didi

perl - 如何在没有 Internet 连接的机器上安装 Perl 模块?

转载 作者:行者123 更新时间:2023-12-03 19:59:22 25 4
gpt4 key购买 nike

我需要在未连接到 Internet 的联网机器上安装基于 Perl 的软件。因此,我想下载 Perl 模块的特定版本和/或最新版本,并且我还想知道这些模块是否需要安装过程。

背景:
出于安全原因,这些机器没有连接到互联网,这也被认为是不必要的。

我会将下载的模块放在我称为“安装服务器”的机器上,它包含我的基于 Perl 的软件,还包含 Perl 模块的本地副本。

我将一台我想安装基于 Perl 的软件的机器称为“目标机器”,它也没有连接到互联网。可以有几台目标机器,每台机器都可以运行我要安装的这个软件。我登录到目标机器并运行一个安装脚本,该脚本将通过本地网络连接到安装机器,以获取基于 Perl 的软件和依赖的 Perl 模块并安装它们。

所以我需要知道:

  • 如何/在何处获取特定版本的 Perl 模块,例如CGI.pm 等
  • 如何安装这些 Perl 模块。是否只是将它们放在某个目录中,例如一个库路径并确保该目录路径位于@INC 库路径环境变量中,如果它还没有的话?

  • 作为安装模块的一部分,我宁愿不必做任何诸如 make install 之类的事情。我想根据需要对模块进行预编译或准备,以便尽可能简单地安装它们。我想避免其他依赖项,如 make 及其配置,并且必须解析其输出以检查它是否成功。

    请通过询问上述具体问题来帮助我,因为我无法更改未连接到互联网的“安装机器”和“目标机器”的概念——我必须提供一个在这种安排下工作的解决方案。

    最佳答案

    解决“我想从 CPAN 安装东西但没有网络”问题的常用方法是使用 minicpan,正如 David Dorward 在他的回答中所写的那样。但是由于您要更进一步,说您根本不想在客户端(目标)机器上进行任何实际安装,并且如果可能的话您想使用预编译模块,我敦促您查看 PAR 和特别是 PAR::Repository (服务器)和 PAR::Repository::Client

    由于这种方法在您加快速度之前需要进行一些研究,所以我不会建议它用于“我只需要 Foo.pm”之类的问题。一旦您谈论少数依赖项和至少少数客户端,那么它就成为更合适的解决方案。

    有关其工作原理的概述,请查看我在 YAPC::EU 2008 上的演讲中的 slides。它还暗示了使 PAR::Repository::Client 模块在客户端上可用的引导问题的解决方案(提示:PAR可以生成自包含的可执行文件)。

    关于perl - 如何在没有 Internet 连接的机器上安装 Perl 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1873329/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com