【问题标题】:Perl module prerequisite not found未找到 Perl 模块先决条件
【发布时间】:2018-01-13 03:24:16
【问题描述】:

最终目标是在无法访问 Internet 的服务器上安装 Excel::Writer::XLSX。

我想安装 SUPER 作为其先决条件。 Sub::Identify 是 SUPER 的先决条件。我相信我成功安装了 Sub:Identify。但是当我尝试安装 SUPER 时,系统提示我未安装先决条件。以下是我在命令提示符下输入的命令和输出:

  1. cd Sub-Identify-0.14
  2. perl MakeFile.pl
  3. perldoc -l Sub::Identify
  4. 输出:lib\Sub\Identify.pm\
  5. cd SUPER-1.20141117
  6. perl Build.PL
  7. 输出:Sub::Identify is not installed
  8. perl Makefile.PL
  9. 输出:Warning: prerequisite Sub::Identify 0 not found.

【问题讨论】:

  • 我无法访问互联网的服务器。
  • 也许您可以在非 Internet 服务器上拥有本地 CPAN 镜像? This answer(针对类似问题)描述了如何设置。这很容易。
  • 我将您关于您的服务器无法访问互联网的评论编辑为您的问题。如果您愿意,您可以回滚该编辑或自行edit 问题并更改它。
  • 你安装了多个 perl 吗?你能显示你运行安装 Sub::Identify 和 SUPER 的实际命令及其输出吗?你从哪里得到你正在安装的东西?你安装的是什么版本?
  • perl Makefile.PL 不安装任何东西;编辑您的问题以显示安装 SUPER 的命令和输出

标签: perl


【解决方案1】:

您没有安装 Sub::Identify。

tar zvzf Sub-Identify-0.14.tar.gz
cd Sub-Identify-0.14
perl MakeFile.pl
make test            # missing
make install         # missing
cd ..

tar zvzf SUPER-1.20141117.tar.gz
cd SUPER-1.20141117
perl Build.PL
./Build.PL test
./Build.PL install
cd ..

顺便说一句,您可以使用CPAN::Mini 创建一个 CPAN 镜像。如果你把这个镜像复制到你的离线机器上,你可以使用cpan来安装模块,尽管你没有在线。

【讨论】:

  • 从 cmets 看来,make 似乎没有安装在 OP 的机器上。我以为是 always 安装的?!不幸的是,我不记得它是哪个包的一部分。
  • @PerlDuck,不,通常没有安装make。例如,Ubuntu 就是这种情况。只好安装了(apt-get install make 在 Ubuntu 上。不知道如何离线进行。)
  • 嗯。我还建议了一个 CPAN 镜像,并且 OP 喜欢这个想法,但是如果没有 make,它可以工作吗?
  • @PerlDuck,当然不是。 cpan 实际上不是安装程序。它是一个下载器和依赖遍历器,运行发行版提供的安装程序,如我的回答所示。
  • 好的。感谢您的耐心。我了解问题/解决方案是什么。
猜你喜欢
  • 1970-01-01
  • 2014-08-11
  • 2013-03-06
  • 2015-06-08
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-13
相关资源
最近更新 更多