Perldoc не показывает документацию для установленных модулей Perl
Установка модулей Perl из командной строки Linux с помощью cpan
команда отлично работает, например:
$ cpan [Module]
и после окончания я могу просмотреть документацию модуля через:
$ perldoc [Module]
Но делать это через cfengine
, который бы просто автоматизировал скрипт cpan
команда (в shellcommands: list), модуль устанавливается, но perldoc
не подойдет для этого
$ perldoc Text::Histogram
No documentation found for "Text::Histogram".*
Однако, ссылаясь на:
$ man Text::Histogram
будет работать просто отлично.
Установка общей переменной среды для этого (например, предложенной perldoc
man page) не представляется возможным, так как я наблюдаю .pm
файлы размещаются в самых разных местах.
Есть намеки на это?
1 ответ
Perldoc выполняет поиск пути к модулю Perl (@INC
). Если Perldoc не может найти его, Perl не может его найти. Пытаться perl -wle 'use The::Module'
чтобы увидеть, может ли Perl загрузить его. Если он может найти его, то происходит что-то странное.
Что может случиться, если вы установили модуль с помощью сторонней программы (даже если он просто использует клиент cpan), если он был установлен в другое место и / или в другой Perl, чем тот, который вы используете в командная строка. Есть несколько причин для этого, три наиболее вероятны...
- Это имеет другое
PATH
чем вы и нашли другую копиюcpan
для другогоperl
, - Это настроено
cpan
клиент по-разному для установки на другойPATH
, - cpan настроен для установки в домашнем каталоге и работает от имени другого пользователя.
Существует также странная вероятность, что модуль не имеет документации.
Вы можете увидеть, что делает perldoc, чтобы найти модуль с perldoc -D The::Module
(это может быть -v в более старых версиях).