每次重启时我都必须重新安装 Vim

每次重启时我都必须重新安装 Vim

我按照 YouCompleteMe 的说明从源代码构建 Vim:https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source

成功了。但现在,每次我重启电脑时,旧版 Vim 都会重新安装,尽管我apt uninstall vim每次都运行。这需要转到包含 .deb 文件的目录,运行apt install ./vim_20201226-1_amd64.deb,然后运行hash vim。如何避免每次电脑启动时都执行此操作?

另外,每次我安装升级版的 Vim 时,dpkg 都会给我一个警告:dpkg: warning: downgrading vim from 2:8.1.0875-5 to 20201226-1。事实并非如此:我正在将 Vim 升级到 8.2.2223,因为 YouCompleteMe 至少需要 v8.1.2269。

我正在运行 Debian Buster。

答案1

apt将尝试升级,vim因为 Debian 存储库中的可用版本比通过 安装的版本更新dpkg

为了防止apt升级单个包vim,您可以使用:

sudo apt-mark hold vim

man apt-mark

hold
   hold is used to mark a package as held back, which will prevent the package from being
   automatically installed, upgraded or removed.

答案2

我认为这个警告可能只是一个警告,而且是错误的:

dpkg: warning: downgrading vim from 2:8.1.0875-5 to 20201226-1

在 ASCII 中,“:” 是十进制 58,“0” 是十进制 48。

因此,如果打包通过在每个“。”或“-”处剪切版本字符串来比较版本,则以“2:”开头的字符串将被视为比以“20”开头的字符串“更高”(因此是“更新”的版本)

看起来包装系统正确更新到了最新版本 20201226-1(可能是因为它使用了另一种机制来检查哪个版本更新,例如它的发布日期?),但是在升级时,包装系统通过按“字母顺序”比较版本来宣布更改,并认为从“2:8.1.0875-5”到“20201226-1”是“降级”(尽管事实并非如此:您实际上正在将 vim 更新到最新的包装版本)

它安装的版本应该满足您的要求(它比您手动安装的版本更新),除非您需要修改用例的源代码?(或者除非某些东西也认为由于相同的词典比较,这个新版本“低于”所需的版本?)

相关内容