在我的 Ubuntu 上,我需要安装较新版本的 erlang。
然后我安装了 rabbitmq-serverdpkg --force-depends -i rabbitmq-server_2.1.1-1_all.deb
一切都进行得很顺利,直到......
现在我在执行 apt-get install 或 upgrade 时遇到以下问题:
rabbitmq-server: Depends: erlang-base (>= 1:12.b.3) but it is not installable or
erlang-base-hipe (>= 1:12.b.3) but it is not installable
Depends: erlang-ssl which is a virtual package. or
erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
Depends: erlang-os-mon which is a virtual package. or
erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
Depends: erlang-mnesia which is a virtual package. or
erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
Depends: erlang-inets which is a virtual package. or
erlang-nox (< 1:13.b-dfsg1-1) but it is not installable
Remove the following packages:
rabbitmq-server
Score is 121
Accept this solution? [Y/n/q/?]
什么命令告诉 apt 解决依赖关系而不删除软件包?
提前谢谢您...
答案1
apt 会尝试解决问题,您也可以使用“apt-get -f install”来请求它解决。但是,如果配置的存储库中没有“有问题”的软件包所需的软件包,您就不能指望它能够修复依赖关系(使用除删除有问题的软件包以外的其他解决方案)。依赖关系还可能需要特定版本的东西(较新、较旧等)。简而言之,您可能遇到问题,因为您强制安装了一个具有根本无法解决的依赖关系的软件包。问题是:您从哪里获得该软件包?它是否有专为您的 ubuntu 版本设计的版本?我想这可能是问题所在。因此,问题是由您引起的,当您故意忽略依赖关系时使用“--force-depends”。
如果你真的很勇敢(注意,这真的不推荐!)你可以通过编辑文件来编辑该包的依赖关系/var/lib/dpkg/status
。如果该软件对你有用,那么这可能是解决方案,但同样,这是非常丑陋的你也可能会通过这种方式损坏你的包数据库,这真的不是一件聪明的事情,除非你喜欢做坏事:)