【发布时间】:2015-09-13 21:56:14
【问题描述】:
假设有一个分发“示例”打包在example-1.0.tar.gz 中,其中包含指向所有依赖项的Makefile.PL。解压后,“Example”可以通过调用cpanm . 轻松安装(包括其所有依赖项),如果它的所有依赖项都在 CPAN 上可用。
如果给我一个包含大部分发行版依赖项的文件夹“deps”,我该如何安装一个类似的文件(我们称之为example-2.0.tar.gz)
- dependency-1.tar.gz
- dependency-2.tar.gz
- ...
- 依赖-N.tar.gz
N 是一个很大的数字吗?
进一步的假设是:
- dependency-*tar.gz 文件必须优先于可用的 CPAN 模块
- 某些依赖项在 CPAN 上不可用,而只能在此“deps”文件夹中使用
- “deps”文件夹不完整,必须从 CPAN 安装更多依赖项。
有没有简单的方法来安装example-2.0.tar.gz?
我想知道是否有像cpanm --use-local-deps=~/deps example-2.0.tar.gz 这样不需要进一步解决方法的命令行。
【问题讨论】:
-
从未使用过它们,但
CPAN::Inject或CPAN::Mini::Inject可能有用。 -
我之前已经尝试过 CPAN::Mini(::Inject)。问题是,事情变得相当复杂,我必须维护一个本地 CPAN 镜像,我有点大(目前我需要下载超过 3GB 的分发包,我最后不需要)。但无论如何,对于某些读者来说,这也可能是一个很好的解决方案。
-
CPAN::Inject 怎么样?据我从文档中得知,这应该适用于您现有的 CPAN 安装(无需设置本地镜像)。