#perl
#perl
Вопрос:
Я загрузил исходный код в Perl и скомпилировал / установил в общий каталог для моей команды. По умолчанию Perl не включает XML :: DOM, и мне нужно добавить его в установку. Как мне это сделать?
Я попробовал cpan, и по умолчанию он устанавливается в ~/perl5. Я попробовал cpanm next (cpanm -l $install_path XML::DOM), но perl по-прежнему не может найти его в @INC. Я использую perl 5.32.0.
Комментарии:
1. Использовать
perlbrew
для управления установкой perl? Он настраивает пути и т. Д., Чтобы модули устанавливались в нужном месте для текущей выбранной версии.2. Можете ли вы показать свою среду? Что-нибудь с
PERL
этим? Кроме того, вы можете показать мне свою конфигурацию cpan (cpan -J
). Кроме того, было бы очень полезно показать фактические команды, которые вы выполняли.3. Я бы действительно рекомендовал использовать XML :: LibXML вместо XML :: DOM. Это практически тот же API, поддерживает XPath, значительно быстрее и активно поддерживается.
Ответ №1:
У вас есть env var, указывающий установщику модуля установить его в нежелательное место.
Снимите следующие переменные env:
PERL_MM_OPT
PERL_MB_OPT
Ответ №2:
Не вызывайте cpan или cpanm, вызывайте cpan с помощью вашего perl или проверяйте, какой perl вызывается с помощью вашего инструмента, посмотрев на заголовок.
/path/to/my/perl -S cpan XML::DOM
Комментарии:
1. Не повезло — он все еще устанавливается в ~/perl5. Что странно, так это то, что версии Perl redhat6 и redhat8, похоже, имеют XML:: DOM, несмотря на то, что они построены одинаково. Только в redhat7 его нет.