Ubuntu: 卸载包后,它还在

Ubuntu: After uninstalling package, it is still there

我卸载了 gem。现在,如果我输入命令:

sudo apt-get remove gem

它returns:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'gem' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 41 not upgraded

所以我假设它已成功卸载。但是,如果我问版本,它仍然有效:

gem --version

它returns:

2.5.2.1

此外,如果我输入 "ge" 然后点击选项卡,我会得到 gem 的自动完成。 为什么是这样?什么是“41 未升级”?谢谢!

这就是我在 Ubuntu 18.04 中删除 gem 的方式,这应该也适用于以前的 Ubuntus:

sudo apt-get purge ruby

如果我没记错的话gem是Ruby的一部分。作为一个普通的 Python 用户,我不完全确定 gem 是 Ruby 的一部分,但是上面的命令确实从我的 Ubuntu.[= 中删除了 gem 12=]

sudo apt-get purge ruby* 

此命令将删除 grub!所以要小心。这两个命令不同。

如果您手动安装包(而不是通过包管理器),则可能会发生这种情况。在这种情况下,包管理器 (apt-get) 可能不知道包及其位置,因此不会认为它已安装。终端中的自动完成功能仅基于它位于系统路径($PATH)中。

运行 which gem 以便找到可执行文件的安装位置。

尝试 运行 apt-get update 然后 apt-get upgrade 以获得有关 'not upgraded' 软件包的更多信息。

为了获取包名写下面的命令

$ dpkg --get-selections | grep -v deinstall | grep software_name | awk '{ print }'

删除包

$ sudo apt-get purge package_name