Как мне установить XML::LibXML для ActivePerl?
-
21-09-2019 - |
Вопрос
Я новичок в Perl, и я использую Активный пользователь.Я получаю следующую ошибку:
Не удается найти XML /LibXML.pm в @INC...
Я перепробовал все, но не могу найти шаги по установке "правильного" модуля для XML::LibXML.
Вот именно то, что происходит.Я запускаю скрипт из командной строки:
c: emp >perl myscript.pl
Первые несколько строк myscript.pl:
#!/usr/bin/perl
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use HTTP::Date;
use XML::Parser;
use LWP::UserAgent;
use XML::LibXML;
use Archive::Extract;
use Encode;
use LWP::Simple;
require HTTP::Request;
...
Затем я получаю эту ошибку:
c: emp >perl myscript.pl Не удается найти XML/LibXML.pm в @INC (@INC содержит:C:/Perl/site/lib C:/Perl/lib .) в myscript.pl строка 7.НАЧАТЬ сбой - компиляция прервана в myscript.pl строка 7
Решение
Вы должны быть в состоянии установить его с помощью Менеджер пакетов ActivePerl Perl.При установке ActivePerl должен был быть создан ярлык меню "Пуск", start графический интерфейс и найдите xml-libxml и libxml-perl.
--редактировать
Вот сообщение о добавлении альтернативного репозитория в PPM и установке XML-LibXML
Другие советы
Не похоже, что ActiveState предоставляет PPM с XML::LibXML .Я поискал в README модуль на CPAN, и, по-видимому, доступен предварительно созданный пакет ppm здесь.
Недавно я столкнулся с трудностями при установке XML::LibXML.Вот что я нашел:
- Мы используем ActiveState ActivePerl 5.8.8
- Для того, чтобы PPM ActivePerl мог проходить через наш прокси, пришлось создать переменную окружения "http_proxy" со значением "http://proxy.ext .[пример].com", затем повторно войти в систему.
- Не все требуемые пакеты были расположены в репозитории ActiveState.Добавлен репозиторий Perl Университета Виннипега http://theoryx5.uwinnipeg.ca/ppms/package.xml (обратите внимание, что точный используемый репозиторий зависит от вашей версии ActivePerl)
- Вручную установите следующие библиотеки DLL в C:\perl\bin \ (по какой-то причине у меня возникли некоторые проблемы со сборкой этих библиотек DLL, поэтому в итоге я просто извлек их из репозитория по адресу http://trouchelle.com/ppm/dll/ )
- iconv.dll
- libxml2.dll
- zlib1.dll
- По крайней мере, для используемой нами версии XML-LibXML установщик пакета не работает корректно для обязательного XML-LibXML-Common.Ты ДОЛЖЕН установите пакет XML-LibXML-Common сам по себе, ДО ТОГО , КАК установка остальной части XML-LibXML.
Хотя они могут быть не самыми последними версиями, версии пакетов (включая предварительные требования), которые я использую в настоящее время, следующие:
- XML-LibXML-Общий (версия 0.13)
- XML-LibXML (версия 1.64)
- XML-поддержка пространств имен (версия 1.10)
- XML-SAX (версия 0.96)
Принятый ответ не сработал для меня в версии 5.16.От этот вопрос:
XML::LibXML не был готов к Perl 5.16.Установить 5.14
Скачать:
В конце концов, я нашел единственный альтернативный репозиторий ActivePerl, насколько я могу судить, и в нем был пакет для XML::LibXML 2.0121, который будет устанавливаться на perl версий до 5.20.x .
Вы можете получить выпуски ActivePerl отсюда, которые включают 5.20.2:downloads.activestate.com/ActivePerl/releases/
Альтернативный репозиторий называется Bribes de Perl по адресу bribes.org/perl/
URL-адрес репозитория , который вводится в параметрах, является http://bribes.org/perl/ppm/