首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用cpanm绑定脱机服务器的模块

如何使用cpanm绑定脱机服务器的模块
EN

Stack Overflow用户
提问于 2016-09-13 14:00:23
回答 2查看 2.5K关注 0票数 4

我想做cpanm SomeModule来安装SomeModule和大约10个依赖项,但是目标服务器没有互联网访问权限。我确实有一个非常相似的开发机器(相同的Perl环境,相同的Perl版本),其中cpanm能够下载它的源代码模块。

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

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

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

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

编辑:到目前为止,注释和答案建议使用pintominicpan来创建一个CPAN模块源代码包。这很好用(尤其是pinto在这方面的使用非常简单)。我现在使用pinto来解决我当前的问题,但平托本身仍然有很多先决条件模块(与Perl相比>100)。我对这个问题的希望是,cpanm是一个独立的、没有安装的脚本,它可以自己完成它(它有广泛的选项,听起来像是它们可以进入这个方向)。这对于在没有大开销的情况下引导Perl安装是很好的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-15 14:56:49

您可以使用纸箱在本地(在您的机器上使用internet访问)捆绑依赖项,然后使用Carton本身安装捆绑发行版,或者使用cpanm本身并指定包的位置。

您需要carton 1.0.32 (生成包索引)和cpanm 1.7016 ( --from选项)才能工作。

在分发的根目录中,您可以

代码语言:javascript
复制
$ carton install # will install the dependencies in `local`
$ carton bundle  # will cache the dependencies in `vendor`
$ tree vendor/
vendor/
└── cache
    ├── authors
    │   └── id
    │       └── F
    │           └── FO
    │               └── FOOBAR
    │                   ├── Some-Dist-1.337.tar.gz
    │                   └── Another-Dist-0.001001.tar.gz
    └── modules
        └── 02packages.details.txt.gz

稍后,在将其传输到另一台空隙计算机之后,您可以使用carton

代码语言:javascript
复制
$ carton install --cached
$ carton exec scripts/your-script.pl

或直接用cpanm安装

代码语言:javascript
复制
# To emulate carton:
$ cpanm -L local --from "$PWD/vendor/cache" --installdeps --notest --quiet .
# Or to install globally:
$ cpanm --from "$PWD/vendor/cache" .
票数 3
EN

Stack Overflow用户

发布于 2016-09-13 14:22:04

您可以手动从CPAN或元盘下载所有依赖项的tars,然后按正确的顺序逐个复制并安装。这对十个模块来说是个小问题,但也不算太糟。你可以写剧本。

但是,您也可以使用微型锅创建一个只包含所需内容的本地小CPAN。这些都是很好的地方副本的一部分或全部的CPAN,例如在USB驱动器,当你需要安装一个模块时,而黑客在飞行代码。它本质上是一个包含更多目录和tars的目录。您只需选择所需的东西,将其压缩,移动到您的生产服务器,在那里解压缩并告诉cpanm从本地CPAN镜像安装。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39471985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档