Come faccio a installare XML :: LibXML per ActivePerl?
-
21-09-2019 - |
Domanda
Sono nuovo di Perl e sto usando ActivePerl . Sto ottenendo il seguente errore:
Impossibile individuare XML / LibXML.pm in @ INC ...
Ho provato tutto ma non riesco a trovare le istruzioni per installare il modulo "corretto" per XML :: LibXML.
Qui è esattamente ciò che sta succedendo. Sono in esecuzione di uno script da un prompt dei comandi:
c: \ temp> perl myscript.pl
Le prime righe di 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;
...
Allora ottengo questo errore:
c: \ temp> perl myscript.pl Impossibile individuare XML / LibXML.pm in @ INC (@INC contiene: C: / Perl / site / lib C: / Perl / lib) a. linea myscript.pl 7. BEGIN fallito - compilation interrotta a Linea myscript.pl 7
Soluzione
Si dovrebbe essere in grado di installare con la ActivePerl Perl Package Manager . Ci sarebbe dovuto essere un collegamento nel menu di avvio creato durante l'installazione di ActivePerl, avviare il GUI e ricerca di xml-libxml e libxml-perl.
- modifica
Ecco un post su come aggiungere un repository alternativa al PPM e l'installazione di XML-LibXML
Altri suggerimenti
Non sembra come ActiveState fornire un PPM con XML :: LibXML. Ho guardato nel README per il modulo su CPAN e apparentemente un pacchetto ppm prebuild è disponibile qui .
Sono stato di recente attraverso i dolori di ottenere XML :: LibXML installato. Ecco cosa ho trovato:
- Stiamo usando ActiveState ActivePerl 5.8.8
- Al fine di PPM di ActivePerl per ottenere attraverso il nostro proxy, dovuto creare una variabile d'ambiente "http_proxy" con il valore "http:. //Proxy.ext [es] .com"., Poi ri-login
- I pacchetti richiesti non erano tutti situati nella repository di ActiveState. Aggiunto dell'Università di Winnipeg Perl Repository http://theoryx5.uwinnipeg.ca/ppms/package.xml (si noti che il repository esatto utilizzato dipende dalla vostra versione di ActivePerl)
- Installare manualmente i seguenti DLL in C: \ perl \ bin \ (per qualsiasi motivo, ho avuto qualche difficoltà a costruire queste DLL, così ho finito semplicemente afferrando dal repository all'indirizzo http://trouchelle.com/ppm/dll/ )
- iconv.dll
- libxml2.dll
- zlib1.dll
- Almeno per la versione di XML-LibXML stiamo usando, il programma di installazione del pacchetto non funziona correttamente per il prerequisito XML-LibXML-Comune. È deve installare il pacchetto XML-LibXML-Comune di per sé, prima installare il resto del XML-LibXML.
Anche se non possono essere le ultime versioni, le versioni dei pacchetti (compresi i prerequisiti), che sono attualmente in uso sono:
- XML-LibXML-comune (ver 0,13)
- XML-LibXML (ver 1.64)
- XML-NamespaceSupport (ver 1.10)
- XML-SAX (ver 0.96)
risposta accettata non ha funzionato per me su 5.16. Da questa domanda :
XML :: LibXML non era pronto per Perl 5.16. Installare 5.14
Download:
Alla fine ho trovato l'unico repository alternativa ActivePerl in atto, per quanto posso dire, e aveva un pacchetto per XML :: LibXML 2,0121 che installerà sulle versioni perl fino a 5.20.x.
È possibile ottenere emissioni di ActivePerl da qui che comprende 5.20.2: downloads.activestate.com/ActivePerl/releases /
Il repository alternativa si chiama Tangenti de Perl a bribes.org/perl /
L'URL del repository che viene immesso nelle opzioni è http://bribes.org/perl/ppm/