2009-09-07 35 views
6

Tôi mới sử dụng Perl và tôi đang sử dụng ActivePerl. Tôi nhận được lỗi sau:Làm cách nào để cài đặt XML :: LibXML cho ActivePerl?

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

Tôi đã thử tất cả mọi thứ nhưng không thể tìm thấy các bước để cài đặt các mô-đun "đúng" cho XML :: LibXML.

Đây chính xác là những gì đang diễn ra. Tôi đang chạy một kịch bản từ một dấu nhắc lệnh:

c:\temp>perl myscript.pl

Một vài dòng đầu tiên của 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; 
... 

Sau đó, tôi nhận được lỗi này:

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

Bạn đang cố gắng sử dụng XML :: LibXML trực tiếp hay đây có phải là phụ thuộc của một mô-đun khác mà bạn đang sử dụng không? –

+0

Tôi đã thêm một số chi tiết ở trên. Tôi đã thêm libxml packabe bằng cách sử dụng trình quản lý gói activeperl –

Trả lời

7

Bạn sẽ có thể để cài đặt nó với ActivePerl Perl Package Manager. Nên có một shortcut menu bắt đầu được tạo khi bạn cài đặt ActivePerl, bắt đầu the GUI và tìm kiếm xml-libxml và libxml-perl.

--edit

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

+0

Cảm ơn, Nhưng tôi đã cài đặt "libxml-perl" từ "Trình quản lý gói ActivePerl" và tôi vẫn gặp lỗi tương tự. Tôi đã kiểm tra các chi tiết và gói đó không cài đặt LibXML.pm Đây là ảnh chụp màn hình http://bit.ly/cf3av –

+0

Thử tìm kiếm xml-libxml. – robertc

+0

Không có gì sắp sửa ... Tôi đã thêm một số chi tiết khác cho câu hỏi. cảm ơn! –

3

Nó không giống như ActiveState cung cấp một PPM với XML :: LibXML. Tôi đã xem README cho mô-đun trên CPAN và dường như một gói ppm prebuild sẵn có here.

+0

ở trên liên kết là 503 lỗi cho tôi, nhưng nguồn có sẵn từ cpan ở đây http://search.cpan.org/perldoc?XML%3A%3ALibXML – RJFalconer

2

Gần đây tôi đã trải qua những đau khổ khi nhận XML :: LibXML được cài đặt. Dưới đây là những gì tôi tìm thấy:

  1. Chúng tôi đang sử dụng ActiveState ActivePerl 5.8.8
  2. Để cho PPM ActivePerl của để có được thông qua proxy của chúng tôi, đã phải tạo ra một biến môi trường "http_proxy" có giá trị "http: // proxy.ext. [example] .com ", sau đó đăng nhập lại.
  3. Các gói bắt buộc không phải tất cả đều nằm trong kho lưu trữ của ActiveState. Đã thêm kho lưu trữ Perl của Đại học Winnipeg http://theoryx5.uwinnipeg.ca/ppms/package.xml (lưu ý rằng kho lưu trữ chính xác được sử dụng tùy thuộc vào phiên bản ActivePerl của bạn)
  4. Cài đặt thủ công các DLL sau vào C: \ perl \ bin \ (vì lý do nào đó, tôi gặp sự cố khi xây dựng các tệp DLL này , vì vậy tôi đã kết thúc chỉ đơn giản là lấy chúng ra khỏi kho lưu trữ tại http://trouchelle.com/ppm/dll/)
    • iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. ít nhất cho phiên bản của XML-LibXML chúng tôi sử dụng, packa trình cài đặt ge không hoạt động chính xác cho điều kiện tiên quyết XML-LibXML-Common. Bạn PHẢI cài đặt gói XML-LibXML-Common bởi chính nó, TRƯỚC cài đặt các phần còn lại của XML-LibXML.

Mặc dù họ có thể không phải là phiên bản mới nhất, phiên bản của gói (bao gồm cả điều kiện tiên quyết) mà tôi hiện đang sử dụng là:

  • XML-LibXML-chung (ver 0.13)
  • XML -LibXML (ver 1,64)
  • XML-NamespaceSupport (ver 1,10)
  • XML-SAX (ver 0,96)
+0

Tôi có cùng một vấn đề ngày hôm nay. Bạn chỉ cần sao chép những 3 .dll trong thư mục C: \ Perl \ bin \? Sử dụng tìm kiếm từ ppm, nó chỉ trả về libxml-perl [0,08] libxml-perl – laurentngu

+0

Có, tôi chỉ sao chép 3 DLL mà tôi đã mô tả. – sn00gan

0

Cuối cùng tôi tìm thấy kho ActivePerl lựa chọn duy nhất trong sự tồn tại, như xa như tôi có thể nói, và nó có một gói cho XML :: LibXML 2.0121 sẽ cài đặt trên các phiên bản perl lên đến 5.20.x.

Bạn có thể lấy thông cáo của ActivePerl từ đây bao gồm 5.20.2: downloads.activestate.com/ActivePerl/releases/

Các kho thay thế được gọi là Hối lộ de Perl tại bribes.org/perl/

URL của kho lưu trữ được nhập trong các tùy chọn là http://bribes.org/perl/ppm/

Các vấn đề liên quan