我对Perl很陌生,我正试图为我拥有的Perl脚本生成一个覆盖率报告。我按照这里提到的步骤安装Devel-Cover https://code.activestate.com/ppm/Devel-Cover/并运行
perl -MDevel::Cover script我得到一些报道信息和那条信息
Pod coverage is unavailable. Please install Pod::Coverage from CPAN.然后运行命令cover来生成报告,我让cover: Command not found. Tring按照输出所述运行cpan install Pod::Coverage,但是失败了。我不知道我在这里错过了什么。我也尝试使用Devel::Coverage
perl -d:Coverage script但我得到了输出
Can't locate Devel/Coverage.pm in @INC (you may need to install the Devel::Coverage module) (@INC contains: /spiratech/tools/perllib /home/mmaher/.cache/activestate/02540130/lib/perl5/site_perl/5.32.0/x86_64-linux /home/mmaher/.cache/activestate/02540130/lib/perl5/site_perl/5.32.0 /home/mmaher/.cache/activestate/02540130/lib/perl5/5.32.0/x86_64-linux /home/mmaher/.cache/activestate/02540130/lib/perl5/5.32.0).
BEGIN failed--compilation aborted.
%!s(<nil>)我找不到任何关于如何安装它的说明。我使用的是Perlv5.32.0
发布于 2022-01-07 23:08:18
零,ActiveState的PPM是老东西。他们有一个新的状态工具来处理所有这些问题。请注意,这是用于使用他们的Perl包。如果您没有使用ActiveState的perl,请不要使用它们的说明。
首先,如果要检查所有公共子程序是否都有文档记录,则只需要Pod::Coverage。这是一个可选的功能。
第二,对install没有cpan命令。只需列出所需的模块或使用命令行选项即可。如果没有选项,则假定-i (用于安装):
$ cpan Pod::Coverage
$ cpan -i Pod::Coverage第三,用于调试的-d开关假定您正在Devel命名空间下加载一个模块。这就是为什么-d:Coverage寻找Devel::Coverage,然后它就找不到了。
要加载任何您喜欢的模块,可以使用-M开关。这需要整个模块名:
$ perl -MPod::Coverage最后,安装Devel::Cover后,查看安装cover的位置,并确保该目录位于PATH中。
https://stackoverflow.com/questions/67610829
复制相似问题