因此,出于某种原因,似乎我的一台机器上为 sidekiq 提供服务的 redis-server 安装被删除了(这是怎么发生的?)。我之所以这么认为,是因为像 which redis 这样的命令给出的是空白的赞。
我尝试使用 apt-get install 和 apt-get -f install 重新安装,但它一直出现此错误
The following packages have unmet dependencies:
redis-server : Depends: init-system-helpers (>= 1.18~) but 1.7~precise1~ppa1 is to be installed
E: Unable to correct problems, you have held broken packages.
我不知道该如何纠正这个问题。任何帮助都非常好。
谢谢!
答案1
您的软件包源列表搞砸了。您添加了“冲突”的存储库,其中一些软件包需要的依赖项比其他存储库中提供的依赖项更新。
以下是修复此问题的最不糟糕的方法:
- 运行。这将生成一个可安装的软件包
apt-cache policy redis-server
不同版本的列表。redis-server
- 在列表中找到与
Candidate
顶部给出的版本相匹配的条目。紧接着,下面会有一个 URL 和一些其他单词。 - 在软件包源列表中找到相同的行(它要么在 中
/etc/apt/sources.list
,要么在目录 中的文件中)。删除该行,或者至少通过在行首/etc/apt/sources.list.d
添加 来将其注释掉。#
- 跑步
apt-get update
- 尝试
redis-server
再次安装。如果apt-get
仍然出现类似错误,请重复上述说明以删除那存在冲突的存储库。
最终,您将摆脱所有与运行系统冲突的存储库,并且您可以继续您的一天。