我正在运行Ubuntu 12.04 lts,并通过RVM安装Ruby。
问题是,当我在终端中键入ruby -v
时,它表示我的Ruby版本是1.8.7,并且使用针对Sinatra的shotgun gem它说我正在运行Ruby 1.8.7。
当我输入rvm list
时,它显示我安装的唯一版本的Ruby是2.0.0,它是我当前的默认版本。
我通过RVM安装了Ruby 2.0.0,它是我在我的机器上安装的唯一版本。
我尝试安装Rails 4,但收到错误消息,说我需要Ruby 1.9或更高版本。
我如何知道我的版本是什么,以及如何将2.0.0设置为我唯一的版本?
答案 0 :(得分: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相关的文件和软件包,这些文件和软件包已在系统级别安装在您的系统上。检查每个状态,以查找是否有任何原始状态并导致问题。
答案 1 :(得分:11)
执行命令
rvm get stable --auto-dotfiles
并确保阅读所有输出。 RVM会告诉您是否出现了问题,在您的情况下可能是因为GEM_HOME
被设置为与PATH
不同的内容。
答案 2 :(得分:7)
ruby版本1.8.7似乎是你的系统ruby。
通常情况下,如果您使用rvm,可以选择您喜欢的ruby版本。在新终端中轻松更改目录并输入:
rvm use 2.0.0
您可以在此处找到有关rvm的更多详细信息:http://rvm.io 打开网站并向下滚动,您将看到一些有用的链接。例如,“设置默认红宝石”可以帮助您。
<强>更新强> 将ruby设置为默认值:
rvm use 2.0.0 --default
答案 3 :(得分:0)
如果您可以在要调查的上下文中访问控制台,则可以通过打印全局常量RUBY_VERSION
的值来确定运行的版本。