2009-09-07 14 views
6

Jestem nowy w Perlu i używam ActivePerl. otrzymuję następujący błąd:Jak zainstalować XML :: LibXML dla ActivePerl?

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

Próbowałem wszystkiego, ale nie można znaleźć kroki, aby zainstalować „prawidłowy” moduł XML :: libxml.

Oto, co się dzieje. Używam skrypt z wiersza poleceń:

c:\temp>perl myscript.pl

Pierwszych kilka wierszy 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; 
... 

Potem dostaję ten błąd:

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

Czy próbujesz bezpośrednio użyć formatu XML :: LibXML, czy jest to zależność innego używanego modułu? –

+0

Dodałem trochę więcej szczegółów powyżej. Dodałem libackml packabe za pomocą menadżera pakietów activeperl –

Odpowiedz

7

powinno być możliwe aby zainstalować go z ActivePerl Perl Package Manager. Powinien zostać utworzony skrót do menu startowego po zainstalowaniu ActivePerl, uruchomieniu the GUI i wyszukaniu xml-libxml i libxml-perl.

--edit

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

+0

Dzięki, ale zainstalowałem "libxml-perl" z "Menedżera pakietów ActivePerl" i nadal dostaję ten sam błąd. Sprawdziłem szczegóły i ten pakiet nie instaluje LibXML.pm Tutaj jest zrzut ekranu http://bit.ly/cf3av –

+0

Spróbuj wyszukać xml-libxml. – robertc

+0

Nic nie nadchodzi ... Dodałem trochę więcej szczegółów do pytania. dzięki! –

3

To nie wygląda ActiveState zapewnić ppm XML :: libxml. Sprawdziłem w README dla modułu na CPAN i najwyraźniej dostępny jest pakiet prebuild ppm here.

+0

Powyższy link to błąd 503, ale źródła dostępne z cpan tutaj http://search.cpan.org/perldoc?XML%3A%3ALibXML – RJFalconer

2

Niedawno doświadczyłem problemów związanych z instalacją XML :: LibXML. Oto co znalazłem:

  1. Używamy ActiveState ActivePerl 5.8.8
  2. Aby ActivePerl w PPM, aby uzyskać za pośrednictwem naszego pełnomocnika, musiał utworzyć zmienną środowiskową „http_proxy” z wartością „http: // proxy.ext. [example] .com ", a następnie ponownie zaloguj się.
  3. Wymagane pakiety nie wszystkie znajdują się w repozytorium ActiveState. Dodano repozytorium Perla na University of Winnipeg http://theoryx5.uwinnipeg.ca/ppms/package.xml (zauważ, że dokładne repozytorium używane zależy od twojej wersji ActivePerl)
  4. Ręcznie zainstaluj następujące biblioteki DLL w C: \ perl \ bin \ (z jakiegokolwiek powodu miałem problemy z budowaniem tych bibliotek DLL , więc skończyło się po prostu chwytając je z repozytorium na http://trouchelle.com/ppm/dll/)
    • iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. przynajmniej dla wersji XML-libxml jesteśmy używając, packa Instalator ge nie działa poprawnie dla wymagań wstępnych XML-LibXML-Common. Ci MUST zainstalować pakiet XML-libxml-common sama, PRZED instalacji resztę XML-libxml.

Mimo, że nie może być najnowsze wersje, wersje pakietów (w tym warunków), które Obecnie używam to:

  • XML-libxml-common (ver 0.13)
  • XML -LibXML (wersja 1.64)
  • XML NamespaceSupport (wersja 1.10)
  • XML SAX (wersja 0.96)
+0

Mam ten sam problem już dziś. Czy właśnie skopiowałeś te 3 pliki .dll do folderu C: \ Perl \ bin \? Używając wyszukiwania z ppm, zwraca tylko libxml-perl [0.08] libxml-perl – laurentngu

+0

Tak, właśnie skopiowałem te 3 biblioteki DLL, które opisałem. – sn00gan

0

W końcu znalazłem jedyną alternatywą repozytorium ActivePerl w istnieniu, o ile mogę powiedzieć, i miał pakiet XML :: LibXML 2.0121, który będzie instalowany w perlowych wersjach do 5.20.x.

można uzyskać wersje ActivePerl stąd, że zawiera 5.20.2: downloads.activestate.com/ActivePerl/releases/

Alternatywą repozytorium nazywa Łapówki de Perl w bribes.org/perl/

Adres URL repozytorium wprowadzonego w opcjach to http://bribes.org/perl/ppm/