2016-08-05 40 views
0

我想Linux机器上安装XML ::的libxml(等等)与没有互联网没有根访问。下载XML ::的libxml和它的依赖

我目前的解决方案是下载 XML ::的libxml和它的依赖从Windows,草莓perl的,然后的Linux机上安装他们。但我还没有找到如何做到这一点。

这是我已经试过:

首先,我从Windows下载 XML ::的libxml CPAN命令:

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 

感谢。

+2

在Strawberry Perl for Windows上安装“纯Perl”模块并将文件复制到Linux可能会工作,但可能并不容易。但是XML :: LibXML是libxml2 C库的一个包装器,并且必须为正确的操作系统和正确版本的Perl编译C包装器代码 - 因此您不能将.DLL复制到Linux。我真的建议与root用户交谈,并要求他们[安装OS软件包](http://grantm.github.io/perl-libxml-by-example/installation.html#installing-on-linux )。 –

+0

您正尝试从本地方向下载模块,'file:///data/cpan/sources/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz失败尝试并安装一个来自自己的回购,然后再次尝试使用LibXML。如果您正在重新使用Strawberry Perl安装,可能是因为某些原因未安装该模块。 – jjmerelo

回答

2

安装XML::LibXML不太可能是您的最后一项要求,我建议您使用minicpan创建本地CPAN镜像,您可以将其复制到离线系统。然后,您可以从该镜像安装任何您喜欢的东西

+0

XML :: NamespaceSupport特定模块的安装失败。本地安装CPAN不会有帮助。 – jjmerelo

+0

@jjmerelo:当cpan尝试获取targz时,XML :: NamespaceSupport的构建在开始时失败。 minicpan肯定会解决这个问题。 – Borodin

+0

好的,我明白你的意思了。但是,如果他能够安装minicpan,他将能够安装他正在寻找的任何东西,对吧?问题在于他在一个没有互联网的系统上工作,另外,没有root访问权限,所以他必须处理任何可用的问题。 – jjmerelo