问题背景
今天在配置网络的时候,在安装privoxy
的时候,遇到了apt --fix-broken install
错误。
命令行给的提示是:
The following packages have unmet dependencies:
nvidia-cuda-toolkit: Depends: nvidia-cuda-dev (= 9.1.85-3ubuntu) but it is not going to be installed.
大致意思就是下面的包没有依赖关系。
问题
当你看到这句话的时候,apt --fix-broken install
,你可以尝试使用以下的解决方案。或许对你有所帮助。
解决方案
- 首先,按照命令行的提示,运行:
sudo apt --fix-broken install
- 1
这个时候,会让你安装一些依赖包,会提示你是否安装,选择Y。
如果,你可以成功安装,那么恭喜恭喜,成功解决。(不过我就没这么好运了)
- 继续看下来的人,我们都同病相怜。我继续运行后,开始报错。
命令行提示我们重写文件的时候,发生了冲突。这意味着,我们要么强制重写这个文件,或者将这个冲突文件删除,重新安装依赖包。
我们选择强制重写文件:
sudo dpkg -i --force-overwrite [文件名]
- 1
上述命令的文件名需要根据命令行的提示,进行输入
比如我这里提示的是这个文件(蓝色框):
/var/cache/apt/archives/nvidia-cuda-dev_9.1.85-3ubuntu1_amd64.deb
所以我替换掉上述命令的文件名,(Ctrl + Shift + C)复制蓝色框文字,替换后,得到的结果是:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/nvidia-cuda-dev_9.1.85-3ubuntu1_amd64.deb
- 1
-
完成上一步之后,尝试再运行:
sudo apt --fix-broken install
之后,你就可以安装你想安装的程序了。 -
如果你还是不行,你可以尝试移除文件,然后安装程序
sudo dpkg -P [文件]
- 1
这个文件,就是之前蓝色框,/archives/
之后的文件。
比如我这个
sudo dpkg -P nvidia-cuda
- 1