如何在 ActiveState Perl 5.20 上安装 Lib::XML?

How can I install Lib::XML on ActiveState Perl 5.20?

我正在尝试在我的 ActiveState Perl Windows 机器上安装 Lib::XML。

perl 5, version 20, subversion 2 (v5.20.2)

我尝试了以下方法:

C:\Users\VENKATESH>ppm install XML-LibXML
ppm install failed: Can't find any package that provides XML-LibXML

C:\Users\VENKATESH>ppm install http://theoryx5.uwinnipeg.ca/ppms/XML-LibXML.ppd
ppm install failed: 500 Can't connect to theoryx5.uwinnipeg.ca:80

如何在 Windows 上安装 Perl 软件包?

ikegami 所述,XML-LibXML 在 perl 5.16 及更高版本中可用。

ppm install XML-LibXML

正如其他人所提到的,似乎没有针对 ActiveState Perl 5.20 的预编译 PPM。我贡献了发行版附带的 instructions for building XML::LibXML from source on Windows. Look for them in the README 文件。我有一段时间没做过了,但我希望它们仍然有效。我将在此处复制它们,但您应该检查分发版是否有更新。

These instructions assume that you already have your system set up to compile modules that use C components.

First, get the libxml2 binaries from http://xmlsoft.org/sources/win32/ (currently also available at http://www.zlatkovic.com/pub/libxml/).

You need:

iconv-VERSION.win32.zip
libxml2-VERSION.win32.zip
zlib-VERSION.win32.zip

Download the latest version of each. (Each package will probably have a different version.) When you extract them, you'll get directories named iconv-VERSION.win32, libxml2-VERSION.win32, and zlib-VERSION.win32, each containing bin, lib, and include directories.

Combine all the bin, include, and lib directories under c:\Prog\LibXML. (You can use any directory you prefer; just adjust the instructions accordingly.)

Get the latest version of XML-LibXML from CPAN. Extract it.

Issue these commands in the XML-LibXML-VERSION directory:

perl Makefile.PL INC=-Ic:\Prog\LibXML\include LIBS=-Lc:\Prog\LibXML\lib
nmake
copy c:\Prog\LibXML\bin\*.dll blib\arch\auto\XML\LibXML
nmake test
nmake install

(Note: Some systems use dmake instead of nmake.)

By copying the libxml2 DLLs to the arch directory, you help avoid conflicts with other programs you may have installed that use other (possibly incompatible) versions of those DLLs.

您可以将 cpan 实用程序与 ActiveState 的 Perl 结合使用。

> cpan XML::LibXML