Как PPM ActiveState генерирует HTML и где он хранится? - PullRequest
1 голос
/ 03 февраля 2020

В настоящее время я использую ActiveState Perl 5.22.3, и я установил эту систему в масштабе всей системы, хотя я хочу установить дополнительные пакеты, используя PPM только для пользователя. Это работает после установки PERL5LIB, например, пути C:/Users/[...]/AppData/Roaming/Perl/x64/Current/lib и выбора этого каталога в GUI PPM в качестве цели для установок. Кажется, что не работает генерация HTML документации из установленных пакетов.

Общесистемная установочная папка Perl содержит каталог html с большим количеством документов, которые установлены по умолчанию и используя Process Monitor я вижу, что PPM пытается удалить файл perltoc.html из этой папки. После предоставления моим пользователям прав на изменение содержимого этого каталога этот файл воссоздается, но он не содержит никаких подсказок для вновь установленных пакетов PPM. Без изменения разрешений PPM регистрирует следующую ошибку:

2020-02-03T18: 57: 54 <4> [ppm.bat: 26] Не удается открыть 'C: \ Program Files \ Perl \ Current \ html / perlto c. html ': доступ запрещен в C: / Program Files / Perl / Current / lib / ActivePerl / DocTools.pm строка 36.

Вот почему я подумал, что PPM может просто остановиться слишком рано и не дает HTML успешно. Но все не так просто, и в моем профиле пользователя есть еще одна папка HTML, содержащая каталоги для всех установленных пакетов:

C:\Users\[...]\AppData\Roaming\Perl\x64\5.22.3\html\site\lib

Проблема в том, что эта вещь не содержит никаких файлы. Глядя на Process Monitor, я даже не уверен, что PPM вообще генерирует файлы HTML, хотя мои пакеты содержат POD-файлы: PPM работает во временных каталогах для каждого устанавливаемого пакета, и те содержат html -фолдеры и PPM повторяет их содержимое, но они кажутся пустыми. Process Monitor не регистрирует найденные файлы, а PPM вообще не пытается копировать отдельные файлы, даже если регистрирует процесс копирования:

[InstallArea.pm:362] Installing AAAAAAAAA with id 91
[InstallArea.pm:369] Copy C:\Users\[...]\AppData\Local\Temp\ppm-eYtrkD/AAAAAAAAA-1.01/blib/html --> C:/Users/[...]/AppData/Roaming/Perl/x64/Current/html
[InstallArea.pm:369] Copy C:\Users\[...]\AppData\Local\Temp\ppm-eYtrkD/AAAAAAAAA-1.01/blib/lib --> C:/Users/[...]/AppData/Roaming/Perl/x64/Current/lib

Итак, как должен работать PPM в отношении HTML -док вообще? Как он решает, когда генерировать это, где он генерирует это и куда он его помещает? Я не смог найти много документов о том, как все должно работать по умолчанию.

Спасибо!

...