如何删除 Ruby 1.9.1 保留 Ruby 2.0.0?

Raf*_*rja 1 ruby apt 14.04

我在 Ununtu 14.04 上安装了 Ruby 2.0.0,但我无法删除 Ruby 1.9.1。我将 /usr/bin/ruby 符号链接替换为 ruby​​2.0.0,但是在安装新 gem 时,我总是指向 Ruby 1.9.1。

我怎样才能绝对切换到 Ruby 2.0.0?

sai*_*895 5

对于 Ruby,基本的依赖结构是这样的:

  1. ruby (理想情况下,它是一个指向默认版本的元包)取决于 ruby1.9.1
  2. ruby2.0 取决于 ruby

我不确定他们为什么这样做,或者为什么他们取消了在此处使用替代品的能力,但是如果您想强制使用 Ruby 2.0,那么一种非侵入性的方法是创建指向 2.0 二进制文件的符号链接. 下面的代码段将在/usr/local/bin.

for i in erb gem irb rdoc ri ruby testrb; do
    sudo ln -s /usr/bin/$i''2.0 /usr/local/bin/$i
done
Run Code Online (Sandbox Code Playgroud)

Ruby 1.9.1 仍然可以通过附加1.9.1到二进制名称(例如,gem1.9.1)来访问。