【发布时间】:2016-12-12 03:36:58
【问题描述】:
我想在 没有互联网 和 没有 root 访问权限的 Linux 机器上安装 XML::LibXML(以及其他)。
我目前的解决方案是下载 XML::LibXML 及其依赖项从Windows,使用草莓perl,然后安装它们在我的 linux 机器上。但我还没有找到如何做到这一点。
这是我尝试过的:
首先,我下载 XML::LibXML 从Windows CPAN shell:
cpan[1]>get XML::LibXML
并成功将包下载到:
C:\Users\mikedu95\.cpan\sources\authors\id\S\SH\SHLOMIF\XML-LibXML-2.0128.tar.gz
但不是它的依赖项。确实,现在在 Linux 上:
cpanm XML::LibXML --from /data/cpan/sources/
--> Working on XML::LibXML
Fetching file:///data/cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0128.tar.gz ... OK
Configuring XML-LibXML-2.0128 ... OK
==> Found dependencies: XML::SAX, XML::SAX::Exception, XML::NamespaceSupport, XML::SAX::Base
--> Working on XML::SAX
Fetching file:///data/cpan/sources/authors/id/G/GR/GRANTM/XML-SAX-0.99.tar.gz ... OK
Configuring XML-SAX-0.99 ... OK
我们可以看到XML::LibXML及其依赖XML::SAX在我的本地镜像/data/cpan/sources/中正确找到,因为我已经下载了 XML::SAX 也是。
但是没有找到其他依赖:
==> Found dependencies: XML::NamespaceSupport, XML::SAX::Base
--> Working on XML::NamespaceSupport
Fetching file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz ... FAIL
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ...
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ...
! Download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz failed. Retrying ...
! Failed to download file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz
! Failed to fetch distribution XML-NamespaceSupport-1.11
谢谢。
【问题讨论】:
-
在 Windows 的 Strawberry Perl 上安装“纯 Perl”模块并将文件复制到 Linux 可能会奏效,但可能并不容易。但是 XML::LibXML 是 libxml2 C 库的包装器,并且 C 包装器代码必须针对正确的操作系统和正确的 Perl 版本进行编译 - 所以您不能只是将 .DLL 复制到 Linux。我真的建议与具有 root 访问权限的人交谈并要求他们install the OS package。
-
您正在尝试从本地方向下载模块,'file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar。 gz failed`尝试自己从repos安装那个,然后用LibXML重试。如果您正在重新使用 Strawberry Perl 安装,则可能由于某种原因没有安装该模块。
标签: perl perl-module cpan xml-libxml cpanm