代码之家  ›  专栏  ›  技术社区  ›  bsmedley

为什么cpanm不安装依赖项?

  •  3
  • bsmedley  · 技术社区  · 9 年前

    我正在尝试从cpanm安装标准杆数,如下所示: 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 关于为什么失败以及我如何使其成功,有什么想法吗?

    1 回复  |  直到 9 年前
        1
  •  4
  •   ikegami    9 年前

    ExtUtils::Embed是一个双生命模块,这意味着它作为 perl 分配 as well as 在第二分布中。

    cpanm 正在尝试通过安装 perl distribution 而不是 ExtUtils-Embed distribution 为什么?我不确定。可能是因为它更新了(1.32而不是1.2505)。

    cpanm公司 明智地不愿意升级 perl语言 它本身

    现在,最新应用程序::Packer::标准杆数 META 未指定ExtUtils::Embed的最低版本,因此 ExtUtils嵌入 分配可能非常好。以下命令将实现这一点:

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

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

    您似乎正在使用一个系统,其提供商决定通过破坏 perl语言 分发到多个包中。您应该使用系统的包管理器( apt-get , yum 或其他)以安装 perl语言 而不是使用 cpanm公司 .

    推荐文章