我真的在运行哪个Ruby版本?

Ord*_*p81 30 ruby ruby-on-rails rvm ubuntu-12.04

我正在运行Ubuntu 12.04 lts,并通过RVM安装Ruby.

问题是,当我输入ruby -v终端时,它说我的Ruby版本是1.8.7,并且使用了针对Sinatra的shotgun gem它说我正在运行Ruby 1.8.7.

当我输入1.8.7它时显示我安装的唯一版本的Ruby是2.0.0,它是我当前的默认版本.

我通过RVM安装了Ruby 2.0.0,它是我在我的机器上安装的唯一版本.

我试图安装Rails 4,但得到一个错误,说我需要Ruby 1.9或更高版本.

我如何知道我的版本是什么,以及如何将2.0.0设置为我唯一的版本?

mu *_*u 無 21

在您的终端上,尝试运行:

which -a ruby
Run Code Online (Sandbox Code Playgroud)

这将在您的PATH中输出系统上所有已安装的Ruby版本(通过RVM或其他方式).如果1.8.7是您的系统Ruby版本,则可以使用以下命令卸载系统Ruby:

sudo apt-get purge ruby
Run Code Online (Sandbox Code Playgroud)

一旦确定通过RVM单独安装Ruby,login就可以在shell中键入:

rvm --default use 2.0.0
Run Code Online (Sandbox Code Playgroud)

如果只安装了一个Ruby版本,则无需执行此操作.

如果您仍遇到任何系统Ruby文件的问题,请尝试运行:

dpkg-query -l '*ruby*'
Run Code Online (Sandbox Code Playgroud)

这将输出一系列与Ruby相关的文件和软件包,这些文件和软件包是在系统级别安装在您的系统上的.检查每个状态,以查找是否有任何原始状态并导致问题.


mpa*_*pis 11

跑:

rvm get stable --auto-dotfiles
Run Code Online (Sandbox Code Playgroud)

并确保阅读所有输出.RVM会告诉你是否有问题,在你的情况下,可能是因为RVM设置为不同的东西GEM_HOME.


Mat*_*ias 7

ruby版本1.8.7似乎是你的系统ruby.

通常情况下,如果您使用rvm,您可以选择您喜欢的ruby版本.在新终端中轻松更改目录并输入:

rvm use 2.0.0
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到关于rvm的更多细节:http://rvm.io 打开网站并向下滚动,你会看到一些有用的链接.例如,"设置默认红宝石"可以帮助您.

更新: 将ruby设置为默认值:

rvm use 2.0.0 --default
Run Code Online (Sandbox Code Playgroud)