【问题标题】:Download XML::LibXML and its dependencies下载 XML::LibXML 及其依赖项
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 特定模块 XML::NamespaceSupport 的安装失败。在本地安装 CPAN 并没有帮助。
  • @jjmerelo:当 cpan 尝试获取 targz 时,XML::NamespaceSupport 的构建在开始时失败。 minicpan 肯定会解决这个问题。
  • 好的,我明白你的意思了。但如果他能够安装 minicpan,他将能够安装他想要的任何东西,对吧?问题是他正在一个没有互联网的系统上工作,此外,也没有 root 访问权限,所以他必须使用可用的任何东西。
  • @jjmerelo:他的系统离线了。我建议他使用在线机器创建一个 minicpan 数据库并将其复制到离线数据库,让他可以访问所有模块。安装 CPAN 模块不需要 root 访问权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 2015-07-12
  • 2011-08-03
  • 1970-01-01
相关资源
最近更新 更多