2009-09-07 175 views
6

我是Perl新手,我正在使用​​。 我收到以下錯誤:如何爲ActivePerl安裝XML :: LibXML?

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

我已經嘗試了一切,但無法找到安裝XML的「正確的」模塊::的libxml的步驟。

這正是發生了什麼事情。我從命令提示符下運行的腳本:

c:\temp>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:\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

您是試圖直接使用XML :: LibXML,還是這是您正在使用的另一個模塊的依賴關係? –

+0

我在上面添加了更多細節。我已經使用activeperl軟件包管理器 –

回答

7

你應該能夠用ActivePerl Perl Package Manager安裝它。應該有安裝ActivePerl時創建的開始菜單快捷方式,開始the GUI並搜索xml-libxml和libxml-perl。

--edit

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

+0

添加了packabe libxml謝謝,但是我從「ActivePerl軟件包管理器」安裝了「libxml-perl」,但仍然收到相同的錯誤。我檢查了詳細信息,並且該程序包未安裝LibXML.pm以下是一個屏幕截圖http://bit.ly/cf3av –

+0

嘗試搜索xml-libxml。 – robertc

+0

不是什麼都沒有提出......我給這個問題增加了一些細節。謝謝! –

3

它看起來並不像ActiveState公司提供了PPM與XML ::的libxml。我查看了CPAN模塊的自述文件,顯然有一個預先構建的ppm包可用here

+0

上面的鏈接對我來說是503錯誤,但是來自cpan的可用來源在這裏http://search.cpan.org/perldoc?XML%3A%3ALibXML – RJFalconer

2

我最近經歷了獲取XML :: LibXML的痛苦。以下是我發現:

  1. 我們正在使用的ActiveState的ActivePerl 5.8.8
  2. 爲了的activeperl的PPM通過我們代理得到的,必須與價值「HTTP創建一個環境變量「HTTP_PROXY」:// proxy.ext。[example] .com「,然後重新登錄。
  3. 所需的軟件包並不都位於ActiveState的存儲庫中。添加溫尼伯大學Perl庫http://theoryx5.uwinnipeg.ca/ppms/package.xml(注意,使用的確切存儲庫取決於您的ActivePerl版本)
  4. 將以下DLL手動安裝到C:\ perl \ bin \中(無論出於何種原因,我在構建這些DLL時遇到了一些問題,所以我最終只是在http://trouchelle.com/ppm/dll/從資源庫中抓住它們)
    • iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. 至少在版本XML-的libxml的我們使用,包裝ge安裝程序無法正確運行先決條件XML-LibXML-Common。您MUST自行安裝包XML-的libxml-常見,BEFORE安裝XML-的libxml的其餘部分。

雖然他們可能不是最新的版本,我目前使用的軟件包(包括先決條件)的版本是:

  • XML-的libxml - 通用(版本0.13)
  • XML -LibXML(VER 1.64)
  • XML-NamespaceSupport(版本1.10)
  • XML-SAX(版本0.96)
+0

今天我有同樣的問題。您是否僅將這3個DLL複製到C:\ Perl \ bin \文件夾中?使用ppm搜索,它只返回libxml-perl [0.08] libxml-perl – laurentngu

+0

是的,我剛剛複製了我描述的那3個DLL。 – sn00gan

0

在我找到了生存的唯一選擇的activeperl庫,據我可以告訴結束,它有一個XML :: LibXML 2.0121包,它將安裝在最高5.20.x的perl版本上。

你可以從這裏獲得的activeperl的版本,包括5.20.2:downloads.activestate.com/ActivePerl/releases/

備選庫稱爲賄賂德的Perl在bribes.org/perl/

在選項中輸入的存儲庫的URL是http://bribes.org/perl/ppm/