Perl 定义托管在git repo上的所需模块
我将我的私有(不在CPAN上共享)perl模块托管在,所以我可以通过运行命令:Perl 定义托管在git repo上的所需模块,perl,perl-module,Perl,Perl Module,我将我的私有(不在CPAN上共享)perl模块托管在,所以我可以通过运行命令:cpanm在远程主机上安装它们https://gitlab.com/xxx/My-Module.git。它很好用。但是,如果我的私有模块在某些其他私有模块中具有依赖关系,该怎么办Build.PL如下所示: use Module::Build; Module::Build->new( module_name => 'My::Module', dist_abstract => '-',
cpanm在远程主机上安装它们https://gitlab.com/xxx/My-Module.git
。它很好用。但是,如果我的私有模块在某些其他私有模块中具有依赖关系,该怎么办<代码>Build.PL如下所示:
use Module::Build;
Module::Build->new(
module_name => 'My::Module',
dist_abstract => '-',
requires =>
{
'My::OtherModule' => 0,
'Moo' => 0,
}
)->create_build_script;
有没有办法为
My::OtherModule
声明GIT url?您看过MyConfig.pm或CPAN Shell中使用的“o conf”命令吗?“perl-MCPAN-eshell”,这就是如何声明repo URL的方法。我想这就是你想要的。否则,请提供更多信息。据我所知,你指的是类似CPAN(私人、自托管)的回购。我在询问GIT repos,如gitlab.com、github.com等。上次我尝试这样做时,cpanm可以从GIT安装,但不能处理GIT依赖项(因为CPAN元数据根本不支持这一点)。到目前为止,我发现的不需要额外工具(pinto、个人存储库等)的最佳解决方案是将所有依赖项/git URL以requirements.txt
文件的形式列出,每行一项,然后通过cpanm安装deps。这些参数用于为CPAN创建元文件。在CPAN元文件中提到私有模块是没有意义的。@ikegami:你完全正确。但是cpanm
需要这个“CPAN元文件”,才能从非CPAN位置(如GIT-repo)成功安装模块。只是做cpanm非常简单git@gitlab.com:user/My Module.git
并下载、构建、测试和安装此模块。这很简单,很有效。至少只要这些非CPAN模块不需要其他非CPAN模块;)。