Linux 依赖关系不满足的解决办法

在 Linux 下安装软件包时我们 经常会碰到一大堆“依赖关系不满足”的错误,如果出现这种情况我们可以从下面几个方面入手解决:

我们举个例子来讲这个问题,解决其他的依赖关系思路类似。我们在 Linux 中安装 Google Chrome 时经常会碰到一个错误:

google-chrome-stable 依赖于 libnss 3-1d (>=3.12.3); 然而:

未安装软件包 libnss 3-1d。

提示说得已经很清楚,要安装 Chrome 就必须安装 libnss 3-1d 这个软件包,所以我们就来安装 libnss 3-1d。

使用 APT 自动满足依赖关系

通常使用 deb 包管理方式的 Linux 发行版都已经安装了 APT(Advanced Packaging Tool) ,比如 Ubuntu,我们可以使用命令:

sudo apt-get -f install

来自动满足未满足的依赖关系。输入该命令后只需一路回车即可,待依赖关系自动满足后,只需要重复安装软件包的命令即可。关于更多有关 APT 的用法,请移步此处

使用软件包管理器

如果使用了 APT 仍然没有满足全部的依赖关系,我们可以使用系统中的软件包管理器(如新立得)搜索需要的软件包,从而安装。很多时候我们甚至可以使用系统自带的软件中心之类的东西来搜索依赖的软件包,当然前提是依赖的软件包比较大众。例子中的 libnss 3-1d 这个包据测试在 Ubuntu 的软件中心里是有的,可以方便地搜索后安装。

网络下载后安装

如果通过以上两种方法,问题都没有得到全部解决。那么只能采用这种略显笨拙的方式了,Google 或者百度所需软件包的下载地址,下载好后单独安装好这个软件包。如果安装该软件包时提示还需要其他的软件包,那么又回到同一个问题了,按照这几种方法操作就是了。

附:Debian 提供的包搜索,很多通过 APT 和包管理器找不到的包这里都有。

Linux 依赖关系不满足的解决办法》上有2条评论

    1. Син 文章作者

      遇到无法自动满足依赖的情况,只能使用 apitude 等工具手动安装依赖包了。

      回复

评论