gpt4 book ai didi

perl - 如何使用 cpanm 为离线服务器 bundle 模块

转载 作者:行者123 更新时间:2023-12-02 11:09:35 25 4
gpt4 key购买 nike

我想执行 cpanm SomeModule 来安装 SomeModule 以及大约 10 个依赖项,但目标服务器无法访问互联网。我确实有一台非常相似的开发机器(相同的 Perl 环境,相同的 Perl 版本),其中 cpanm 能够下载其源模块。

在研究了cpanm的手册页之后,我感觉我可以在开发机器上创建一个tarball,将其传输到服务器,并使用它一次性安装模块。

不幸的是,我似乎没有找到它到底是哪个组合。特别是,由于在开发机器上已经安装了模块,我需要强制它仍然将所有依赖项添加到 tarball(当然不包括核心模块)。

有人可以给出开发机器和目标机器的命令吗?

编辑:这是专门关于cpanm的。当然,如果你可以权威地说 cpanm 绝对不可能,那也是一个有效的答案......

编辑:到目前为止的评论和答案建议使用 pintominicpan 创建 CPAN 模块源包。这效果很好(特别是 pinto 使用起来非常简单)。我现在使用 pinto 来解决当前的问题,但 Pinto 本身仍然有很多必备模块(与 Perl-Core 相比,>100 个)。我对这个问题的希望是 cpanm,这是一个独立的、无需安装的脚本,可以自己完成(它有广泛的选项,听起来像是可以进入这个方向)。这对于引导 Perl 安装来说非常好,而且不会产生大量开销。

最佳答案

您可以从 CPAN 或 metacpan 下载 tar 文件手动获取所有依赖项,然后复制它们并按正确的顺序一一安装。对于十个模块来说,这有点工作量,但也不算太糟糕。您可以编写脚本。

但您也可以使用 minicpan创建一个仅包含您需要的本地小型 CPAN。拥有部分或全部 CPAN 的本地副本非常好,例如当您在飞行中破解代码时需要安装模块时,可以使用 USB 驱动器。它本质上是一个充满更多目录和 tar 的目录。您只需选择所需的内容,将其压缩,将其移动到生产服务器,在那里解压并告诉cpanm从本地 CPAN 镜像进行安装。

关于perl - 如何使用 cpanm 为离线服务器 bundle 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39471985/

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