如何从/ usr / local卸载Ruby?

一切都工作正常,直到我们决定将ruby从1.8.6升级到1.8.7,那就是当它完全崩溃的时候。 当我们从源代码编译Ruby 1.8.7时,它已安装到/ usr / local / bin中,而Ruby 1.8.6则保留在/ usr / bin中。 目前,我们已经卸载了ruby 1.8.6,并且我们删除了/ usr / local中的ruby 1.8.7文件。

当我们尝试“哪个ruby”它指向/ usr / local。 如果有人可以帮助我们做我们需要做的事情重新回到正轨,我们将非常感激。并且还知道我们如何从/ usr / local卸载ruby。 我们尝试了yum删除ruby,从/usr/bin.Thanks和干杯中删除ruby!

如果它位于/usr/bin ,则卸载1.8.6不是一个好主意。 这是操作系统所有,预计会在那里。

如果在/usr/bin之前将/usr/local/bin放在PATH中,那么在/usr/bin安装的东西将在/usr/local/bin具有相同名称之前找到,有效地覆盖或更新它们,没有实际这样做。 您仍然可以通过在#中明确使用/usr/bin来访问它们! 代码顶部的解释器调用行。

@Anurag建议使用RVM,我将是第二个。 除了操作系统的1.8.6之外,我用它来管理1.8.7和1.9.1。

编辑:正如评论中所建议的。 此解决方案适用于Linux OS。 如果您已经从package-manager手动安装了ruby,那也是如此。

如果你想拥有多个ruby版本,最好拥有RVM 。 在这种情况下,您不需要删除ruby旧版本。

如果想删除,请按照以下步骤操作:

首先你应该找到Ruby的位置:

 whereis ruby 

将列出系统中存在的所有位置,然后您可以显式删除它们。 或者你可以使用这样的东西:

 rm -rf /usr/local/lib/ruby rm -rf /usr/lib/ruby rm -f /usr/local/bin/ruby rm -f /usr/bin/ruby rm -f /usr/local/bin/irb rm -f /usr/bin/irb rm -f /usr/local/bin/gem rm -f /usr/bin/gem 

在/ usr / bin创建一个名为’ruby’的符号链接 ,并将其指向最新安装的ruby。

你可以使用像ln -s /usr/bin/ruby /to/the/installed/ruby/binary

希望这可以帮助。

这样做:

 sudo apt purge ruby 

如果以下列方式安装ruby:

 ./configure --prefix=/usr/local make sudo make install 

您可以通过以下方式卸载它:

检查安装的ruby版本; 让我们假设2.1.2

 wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2 bunzip ... tar xfv ... cd ruby-2.1.2 ./configure --prefix=/usr/local make sudo checkinstall # will build deb or rpm package and try to install it 

安装后,您现在可以删除包,它将删除目录/文件/等。

 sudo rpm -e ruby # or dpkg -P ruby (for Debian-like systems) 

可能还有一些文物:

 Removing ruby ... warning: while removing ruby, directory '/usr/local/lib/ruby/gems/2.1.0/gems' not empty so not removed. ... 

手动删除它们。

sudo make uninstall为我提供了使用官方下载页面中的Ruby 2.4 tar的技巧。