12

使用 pip,您可以创建一个需求文件来指定要安装的库。是否有使用 CPAN 的 perl 模块的等价物?

我遇到了 ExtUtils::MakeMaker,但这似乎 make 文件是专门针对每个模块的。

我想尝试更好地了解我要问的是是否有办法做类似的事情

cpan install -r requirements.txt

然后指定要在该需求文件中安装哪些模块。

提前致谢!

4

2 回答 2

14

当您从 CPAN 安装模块时,每个模块都会在 Makefile.PL(或 Build.PL)中指定其依赖项,并且 CPAN shell 将在安装时递归地解析这些依赖项。

如果要为应用程序(而不是 CPAN 模块)指定依赖项,可以创建一个cpanfile以这种格式调用的文件:

requires 'JSON';
requires 'Template';
requires 'DateTime';
requires 'DBIx::Class';

然后,您可以使用一个命令安装这些依赖项:

cpanm --installdeps .

cpanm命令来自App::cpanminus发行版,是从 CPAN 安装模块的替代工具。

有关更多信息,请参阅cpanfile 文档

于 2015-07-09T22:06:28.917 回答
6

我认为 Carton 就是您要找的东西。

要开始使用 Carton,请安装它。然后使用您的依赖项创建一个 cpanfile:

require 'Test::Most';
require 'Math::BaseConvert';

有了这个文件,运行

carton install

如有必要,这将安装这些模块,并编写一个名为 cpanfile.snapshot 的文件,其中包含依赖关系信息。

另请参阅:使用 Carton 管理 Perl 依赖项的简要说明

PS:查看 Stratopan。

于 2015-07-09T20:22:37.293 回答