一切都运转正常,直到我们决定将红宝石从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文件。
当我们尝试“哪个红宝石”它指向/ usr / local。 如果有人可以帮助我们我们需要做的事情重新回到正轨,我们将非常感激。并且还知道我们如何从/ usr / local卸载ruby。 我们尝试了yum删除红宝石,从/usr/bin.Thanks和干杯中删除红宝石!
答案 0 :(得分:21)
编辑:正如评论中所建议的那样。此解决方案适用于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
答案 1 :(得分:12)
如果它在/usr/bin
中,则卸载1.8.6不是一个好主意。这是操作系统所有,预计会在那里。
如果您在/usr/local/bin
之前将/usr/bin
放入PATH,那么您在/usr/local/bin
中安装的内容将在/usr/bin
中具有相同名称之前找到,有效覆盖或更新它们,而不是真正这样做。您仍然可以在#中明确使用/usr/bin
来与他们联系!代码顶部的解释器调用行。
答案 2 :(得分:2)
在/ usr / bin创建一个名为'ruby'的symlink并将其指向最新安装的ruby。
您可以使用ln -s /usr/bin/ruby /to/the/installed/ruby/binary
希望这有帮助。
答案 3 :(得分:1)
这样做:
sudo apt purge ruby
答案 4 :(得分:1)
如果以下列方式安装了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
安装完成后,您现在可以删除软件包,它将删除目录/ files / etc.
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.
...
手动删除它们。
答案 5 :(得分:0)
sudo make uninstall
使用官方下载页面中的Ruby 2.4 tar为我做了诀窍。