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

问题描述 投票:29回答:4

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

问题是,当我输入ruby -v到终端时,它说我的Ruby版本是1.8.7,并且使用了针对Sinatra的霰弹枪宝石,它说我正在运行Ruby 1.8.7。

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

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

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

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

ruby-on-rails ruby rvm ubuntu-12.04
4个回答
11
投票

跑:

rvm get stable --auto-dotfiles

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


21
投票

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

which -a ruby

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

sudo apt-get purge ruby

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

rvm --default use 2.0.0

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

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

dpkg-query -l '*ruby*'

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


7
投票

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

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

rvm use 2.0.0

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

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

rvm use 2.0.0 --default

0
投票

如果您可以在正在调查的上下文中访问控制台,则可以通过打印全局常量RUBY_VERSION的值来确定您正在运行的版本。

© www.soinside.com 2019 - 2024. All rights reserved.