Perl &引用;未指定“阶段或关系”;运行dzil生成时出错
我正在尝试构建Perl模块:Perl &引用;未指定“阶段或关系”;运行dzil生成时出错,perl,dist-zilla,Perl,Dist Zilla,我正在尝试构建Perl模块: git clone git@github.com:jrockway/anyevent-subprocess.git cd anyevent-subprocess dzil authordeps --missing | cpanm dzil build 但生成中止,并出现错误: [Test] No -phase or -relationship specified [Test] No -phase or -relationship specified at /hom
git clone git@github.com:jrockway/anyevent-subprocess.git
cd anyevent-subprocess
dzil authordeps --missing | cpanm
dzil build
但生成中止,并出现错误:
[Test] No -phase or -relationship specified
[Test] No -phase or -relationship specified at /home/hakon/perlbrew/perls/perl-5.30.0/lib/site_perl/5.30.0/Dist/Zilla/Plugin/Prereqs.pm line 162.
dist.ini
文件如下所示:
name = AnyEvent-Subprocess
[@JROCKWAY]
[Prereqs]
Moose = 1.15
Event::Join = 0.05
JSON = 2
[Prereqs/Test]
EV = 4.0
为什么会出现此错误?根据:
如果名称是阶段和关系的CamelCase串联
(或者只是一个关系),它将隐式地设置这些参数。如果
您使用自定义名称,但它不指定关系,并且
您没有指定-phase
或-relationship
,它会抛出错误
未指定阶段或关系
。这是为了防止出现
使名字变得毫无意义,以免被忽略
dist.ini
没有为[Prereqs/Test]
插件指定阶段或关系,而且名称Test
不是阶段和关系(如中所定义)的驼峰式连接,因此dzil build
抛出错误,警告名称Test
没有意义
解决方案:
向名称添加关系,例如,要求
:
[Prereqs/TestRequires]
EV = 4.0
另一种解决方案是只显式指定-phase和-relationship选项。但是Prereqs插件通常需要一个别名,这样您就可以在不同的阶段多次使用它。