![Git 包破坏了 bash 完成?](https://linux22.com/image/154163/Git%20%E5%8C%85%E7%A0%B4%E5%9D%8F%E4%BA%86%20bash%20%E5%AE%8C%E6%88%90%EF%BC%9F.png)
我准备尝试安装 git 包。在 Synaptic 的依赖项选项卡中,它写道:
- 休息时间: bash 完成 (<1:1.9-1)
- 休息时间:bash 完成[斜体]
我安装了存储库提供的最新版本的 bash-completion(版本 1:2.8-1ubuntu1)。
我读过 git 附带一些改编的自动完成功能,我想这个功能实际上不会阻止 bash 中的完成工作,对吧?
此外,该apt-get -s install git
命令不会输出有关 bash-completion 包的任何内容。
所以我的问题是:
- 由于我已经安装了最新版本的 bash-completion 软件包,那么在安装 git 的特定情况下会发生什么情况?
- 在这个特定的上下文中,斜体的第二行意味着什么?这两行有何不同,并且没有合并为一行 '休息时间: bash-completion' 行?
编辑(附加信息)
- 我有 Linux Mint 19.1(Ubuntu 18.04 基础)
- 存储库提供 git 1:2.17.1-1ubuntu0.4
答案1
你正在看到这个突触错误,这导致它错误解析“破坏”依赖项。这两个包实际上并不不兼容。
您应该能够使用其他工具安装 git,例如sudo apt-get install git
在终端中。不会对bash-completion
包裹有任何影响。我可以确认至少在 Ubuntu 16.04 和 18.04 上安装git
和软件包没有问题,并且这确实允许 bash 智能地完成 git 命令。bash-completion
该git
包与该包的旧版本不兼容bash-completion
,因此它声明了一个依赖项Breaks: bash-completion (<< 1:1.90-1)
,这意味着该 git 包与任何早bash-completion
于1:1.90-1
.这是一个古老的版本,当前支持的任何 Ubuntu 版本中都不存在:最旧的支持版本 (xenial) 具有1:2.1-4.2ubuntu1
.不兼容的原因是该git
包提供了自己的 bash 完成脚本文件,并且 bash 完成脚本的结构在旧版本的bash-completion
.