首页 > 解决方案 > yum install perl 失败的依赖项

问题描述

我收到此错误,搜索网络但找不到任何内容。

请帮助,新手

错误:依赖项失败:rpm -ivh perl-5.8.8-43.el5_11.i386.rpm

[root@workstation ~]# rpm -ivh perl-5.8.8-43.el5_11.i386.rpm
error: Failed dependencies:

libc.so.6 is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.4) is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1 is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libdb-4.3.so is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2 is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libgdbm.so.2 is needed by perl-5.8.8-43.el5_11.i386
libm.so.6 is needed by perl-5.8.8-43.el5_11.i386
libm.so.6(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libnsl.so.1 is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0 is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.3.2) is needed by perl-5.8.8-43.el5_11.i386
libresolv.so.2 is needed by perl-5.8.8-43.el5_11.i386
librt.so.1 is needed by perl-5.8.8-43.el5_11.i386
librt.so.1(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libutil.so.1 is needed by perl-5.8.8-43.el5_11.i386

标签: perlrpmyum

解决方案


你没用yum,你在用rpm

运行rpm只会安装其命令行上列出的软件包(对于 Debian 用户,就像dpkg -i)。如果您运行yum,那么它也会安装任何必需的软件包(如apt-get install)。所以你可能想要:

yum localinstall perl-5.8.8-43.el5_11.i386.rpm

但是,这里有一个很大的警告。您使用的是哪个 Linux 发行版和哪个版本?您正在尝试安装为 Red Hat Enterprise Linux 5 构建的 RPM。这里有两个选项:

  1. 您正在将它安装在 RHEL5 上。这似乎不太可能,因为它已经安装在这些系统上 - 如果由于某种原因没有安装,您可以直接安装它,yum install perl而不是下载和安装特定的 RPM。
  2. 您将它安装在其他基于 Red Hat 的 Linux 版本上。这对我来说似乎是一个非常糟糕的主意。Perl RPM 是 Linux 发行版的一个非常基础的部分,用不同版本的构建版本替换它可能是灾难性的。如果幸运的话,它将无法正常工作,因为各种底层库的正确版本将不可用。如果您不走运,它将安装,您将完全破坏大部分安装。

你说你需要这个版本的 Perl 来运行你想使用的一些软件。但是你确定它需要专门是这个版本的 Perl 吗?那将是不寻常的。通常,要求是最低版本的 Perl。如果你真的需要 Perl 5.8.8,那么我会质疑使用依赖于这么旧版本 Perl 的软件是否明智。

如果,毕竟,你仍然想继续这样做,那么请不要使用 RPM 来覆盖你的系统 Perl。唯一明智的方法是构建一个单独的 Perl 安装(可能在 中/opt)并使用该版本。另一种选择是使用像perlbrew这样的东西,它可以很容易地在同一个系统上安装多个版本的 Perl。


推荐阅读