3

我正在尝试像这样从 cpanm 安装 PAR:,cpanm App::Packer::PAR但它给了我这个错误:

skipping R/RJ/RJBS/perl-5.22.0.tar.bz2
! Installing the dependencies failed: Module ExtUtils::Embed is not installed
! Bailing out the installation for PAR-Packer-1.026.

尽管 cpanm 应该自动安装依赖项,但我尝试手动安装它:cpanm ExtUtils::Embed,但只得到相同的错误:skipping R/RJ/RJBS/perl-5.22.0.tar.bz2 关于为什么失败以及如何使其工作的任何想法?

4

1 回答 1

4

ExtUtils::Embed 是一个双生命模块,这意味着它作为分发的一部分perl以及第二个分发进行分发。

cpanm正在尝试通过安装perl发行版而不是ExtUtils-Embed发行版来安装 ExtUtils::Embed 。为什么?我不确定。也许是因为它更新(1.32 而不是 1.2505)。

cpanm明智地不愿意升级perl自己。

现在,最新的 App::Packer::PARMETA没有指定 ExtUtils::Embed 的最低版本,所以发行版中的版本ExtUtils-Embed很可能已经足够好了。以下命令将实现此目的:

cpanm D/DO/DOUGM/ExtUtils-Embed-1.14.tar.gz

然而,正如我之前提到的,ExtUtils::Embed 是 Perl 自带的。它已经这样做了超过 15 年(从 Perl 5.4 之前开始)。你必须安装它是没有意义的。

您似乎正在使用一个系统,其提供商决定通过将perl分发分成多个包来引起头痛。您应该使用系统的包管理器(apt-getyum其他)来安装缺少的部分,perl而不是使用cpanm.

于 2015-08-21T22:27:21.750 回答