По CPAN Frequently Asked Questions:cpanm не регистрирует все установленные модули в perllocal.pod
Каждый раз, когда установлен модуль на вашей системе, он добавляет информацию в файл с именем
perllocal.pod
I установили несколько модулей CPAN с использованием cpanm
, проблема в том, что некоторые модули не регистрируются в perllocal.pod
. Например, я установил String::Escape, String::ShellQuote и String::Util, используя 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
отсутствует, даже если все три модуля установлены в директории /home/hakon/perl5/lib/perl5/
. Например, если я типа:
$ perldoc -l String::Util
Я получаю результат:
/home/hakon/perl5/lib/perl5/String/Util.pod
Примечание: Эта проблема не связана с perldoc
. Команда perldoc
просто отображает стручок в файле perllocal.pod
:
$ perldoc -l perllocal
/home/hakon/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod
Поскольку этот файл не содержит стручок для String::Util
, вполне вероятно, что проблема заключается в том, что cpanm
не зарегистрировать его (по неизвестной причине), когда Я установил модуль.