2009-09-07 13 views
6

Sono nuovo in Perl e sto usando ActivePerl. Sto ottenendo il seguente errore:Come si installa XML :: LibXML per ActivePerl?

Can't locate XML/LibXML.pm in @INC...

Ho provato tutto ma non riesco a trovare le istruzioni per installare il modulo "corretto" per XML :: LibXML.

Ecco esattamente cosa 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 Can't locate XML/LibXML.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at myscript.pl line 7. BEGIN failed--compilation aborted at myscript.pl line 7

+0

Si sta tentando di utilizzare direttamente XML :: LibXML oppure si tratta di una dipendenza di un altro modulo che si sta utilizzando? –

+0

Ho aggiunto ulteriori dettagli sopra. Ho aggiunto il pacchetto libxml usando il gestore pacchetti activeper –

risposta

7

Si dovrebbe essere in grado per installarlo con lo ActivePerl Perl Package Manager. Dovrebbe essere stato creato un collegamento al menu di avvio creato durante l'installazione di ActivePerl, avviare the GUI e cercare xml-libxml e libxml-perl.

--edit

Here's a post on adding an alternative repository to PPM and installing XML-LibXML

+0

Grazie, ma ho installato "libxml-perl" da "ActivePerl Package Manager" e ho ancora lo stesso errore. Ho controllato i dettagli e quel pacchetto non installa LibXML.pm Ecco una schermata http://bit.ly/cf3av –

+0

Prova a cercare xml-libxml. – robertc

+0

No, niente sta arrivando ... Ho aggiunto qualche altro dettaglio alla domanda. Grazie! –

3

E non sembra fornire un'ActiveState PPM con XML :: LibXML. Ho guardato nel README per il modulo su CPAN e apparentemente un pacchetto preimpostato in ppm è disponibile here.

+0

sopra il link è 503 errore per me, ma le fonti disponibili da cpan qui http://search.cpan.org/perldoc?XML%3A%3ALibXML – RJFalconer

2

Recentemente ho passato il tempo di installare XML :: LibXML. Ecco cosa ho trovato:

  1. Stiamo usando ActiveState ActivePerl 5.8.8
  2. 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. [esempio] .com ", quindi ri-login.
  3. I pacchetti richiesti non si trovavano tutti nel repository di ActiveState. Aggiunto repository Perl di University of Winnipeg http://theoryx5.uwinnipeg.ca/ppms/package.xml (notare che il repository esatto utilizzato dipende dalla versione di ActivePerl)
  4. Installare manualmente le seguenti DLL in C: \ perl \ bin \ (per qualsiasi motivo, stavo avendo qualche problema a creare queste DLL , così ho finito per semplicemente afferrando dal repository a http://trouchelle.com/ppm/dll/)
    • iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. almeno per la versione di XML-LibXML siamo usando, il pacchetto Il programma di installazione di ge non funziona correttamente per il prerequisito XML-LibXML-Common. È MUST 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)
+0

Ho lo stesso problema oggi. Hai appena copiato quelle 3 .dll nella cartella C: \ Perl \ bin \? Usando la ricerca da ppm, restituisce solo libxml-perl [0.08] libxml-perl – laurentngu

+0

Sì, ho appena copiato quelle 3 DLL che ho descritto. – sn00gan

0

Alla fine ho trovato per quanto posso dire l'unica repository ActivePerl alternativa esistente, e aveva un pacchetto per XML :: LibXML 2.0121 che verrà installato su versioni perl fino a 5.20.x.

È possibile ottenere emissioni di ActivePerl da qui che include 5.20.2: downloads.activestate.com/ActivePerl/releases/

Il repository alternativa si chiama Tangenti de Perl a bribes.org/perl/

L'URL del repository immesso nelle opzioni è http://bribes.org/perl/ppm/