使用 pip,您可以创建一个需求文件来指定要安装的库。是否有使用 CPAN 的 perl 模块的等价物?
我遇到了 ExtUtils::MakeMaker,但这似乎 make 文件是专门针对每个模块的。
我想尝试更好地了解我要问的是是否有办法做类似的事情
cpan install -r requirements.txt
然后指定要在该需求文件中安装哪些模块。
提前致谢!
使用 pip,您可以创建一个需求文件来指定要安装的库。是否有使用 CPAN 的 perl 模块的等价物?
我遇到了 ExtUtils::MakeMaker,但这似乎 make 文件是专门针对每个模块的。
我想尝试更好地了解我要问的是是否有办法做类似的事情
cpan install -r requirements.txt
然后指定要在该需求文件中安装哪些模块。
提前致谢!
当您从 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 文档。
我认为 Carton 就是您要找的东西。
要开始使用 Carton,请安装它。然后使用您的依赖项创建一个 cpanfile:
require 'Test::Most';
require 'Math::BaseConvert';
有了这个文件,运行
carton install
如有必要,这将安装这些模块,并编写一个名为 cpanfile.snapshot 的文件,其中包含依赖关系信息。
另请参阅:使用 Carton 管理 Perl 依赖项的简要说明
PS:查看 Stratopan。