安装vim时发生事务检查错误?

sae*_*eed 25 yum fedora vim

我最近将我的 Fedora 更新到 20 并想安装 vim。但是运行sudo yum install vim返回了这个错误:

Transaction check error:
  file /usr/share/man/man1/vim.1.gz from install of vim-common-2:7.4.179-1.fc20.x86_64 conflicts with file from package vim-minimal-2:7.4.027-2.fc20.x86_64

Error Summary
-------------
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

小智 26

file /usr/share/man/man1/vim.1.gz from install of vim-common-2:7.4.179-1.fc20.x86_64 conflicts with file from package vim-minimal-2:7.4.027-2.fc20.x86_64
Run Code Online (Sandbox Code Playgroud)

无论vim-common和vim-minimal船舶的副本vim手册页。通常,这不会导致 RPM 冲突,因为这两个包中的文件是相同的。

但是,您似乎有不同版本的vim-commonand vim-minimal,因此文件不相同,从而导致冲突。更新vim-minimal到与 相同的版本vim-common,问题就会消失。

yum update vim-minimal 
Run Code Online (Sandbox Code Playgroud)

进而

yum install vim-enhanced
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!我发现这个解决方案比可怕的移除与 vim-minimal 耦合的“sudo”更安全 (4认同)
  • 一般规则是:在安装任何东西之前总是更新到最新的软件包集。 (2认同)

小智 23

在删除 vim-minimal 之前,请使用 root 用户登录或执行以下操作: sudo -s

之后,使用以下命令删除 vim-minimal: yum remove vim-minimal

然后你可以安装 vim:yum install vim然后安装 sudo:yum install sudo

  • @vonbrand sudo 与 vim-minimal 耦合,因此它也被删除。如果您是 root,则避免使用 catch-22 (4认同)
  • 我想指出这种情况很奇怪...... (2认同)

小智 7

这在 Fedora 23 中仍然发生。我的解决方案是更新两个软件包:

sudo dnf update vim-common vim-minimal
Run Code Online (Sandbox Code Playgroud)

如果我尝试单独更新任一软件包,则会发生冲突。但是我能够同时成功更新它们。