0

根据CPAN 常见问题解答

每次在您的系统上安装一个模块时,它都会将信息附加到一个名为perllocal.pod

我已经使用 安装了几个 CPAN 模块cpanm,问题是某些模块没有在perllocal.pod. 例如,使用. _ _ _ 如果我输入cpanm

$ perldoc -u perllocal | grep String::

我得到输出:

=head2 Tue Apr 21 16:47:34 2015: C<Module> L<String::Escape|String::Escape>
=head2 Thu Aug  6 18:51:04 2015: C<Module> L<String::ShellQuote|String::ShellQuote>

请注意String::Util,即使所有三个模块都安装在 directory 下,它也会丢失/home/hakon/perl5/lib/perl5/。例如,如果我输入:

$ perldoc -l String::Util

我得到输出:

/home/hakon/perl5/lib/perl5/String/Util.pod

注意:该问题与perldoc. 该perldoc命令只是在文件中显示 Pod perllocal.pod

$ perldoc -l perllocal
/home/hakon/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod

由于此文件不包含任何 Pod for String::Util,因此问题很可能是cpanm我安装模块时没有注册它(出于某种未知原因)。

4

1 回答 1

1

这是String::Util中Makefile.PL的错误;通过在 WriteMakefile 中使用中间变量,它会阻止 App::cpanminus 中的解析。

我建议您将其记录为错误——它有一个简单的修复方法:不要使用该变量。

于 2015-10-28T15:29:26.770 回答