我在Linux Ubuntu 12.04上,我首先安装了Ruby 1.9.2。
尝试安装rvm以使用Octopress后,bash中的ruby --version
会导致ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
如何将RVM与ruby 1.9.2一起使用?
我真的不明白RVM究竟是什么......
答案 0 :(得分:3)
无法从1.9.2 version
访问您首先安装的rvm
。
使用rvm
时,只提供通过rvm安装的红宝石列表。以前安装的ruby版本 - 虽然仍然存在于文件系统中 - 但不包括在内。
根据您目前所执行的步骤,您在一个位置安装了1.9.2 version
,并在1.8.7 version
中安装了rvm
。
运行1.9,2 version
命令安装rvm install 1.9.2
。之后,当您运行rvm list
命令时,您应该看到类似于以下内容的输出:
$ rvm list
rvm rubies
ruby-1.8.7-p358 [ i686 ]
=* ruby-1.9.2-p320 [ x86_64 ]
# => - current
# =* - current && default
# * - default
您可以使用rvm
/ rvm use 1.8.7
命令在rvm use 1.9.2
管理的不同版本的ruby之间切换。
这是一篇简短的博文,里面有很好的rvm简介:Get started right with RVM
答案 1 :(得分:2)
也许你还没有切换到ruby版本:
rvm use 1.9.2 (assuming you did rvm install 1.9.2)
我给了an answer here which might help更详细的解释。
答案 2 :(得分:2)
RVM是一个版本管理器,它使您能够决定要在当前shell会话中使用多个已安装的Ruby版本。 RVM通过提供名为rvm
的shell函数来实现此目的,该函数可用于在当前会话中的版本之间切换。这会更改环境变量,尤其是GEM_HOME和PATH,以匹配当前选定的Ruby安装。
每个已安装的Ruby版本都可以通过特定的标识符字符串进行选择。如果在安装RVM之前已经安装了系统范围的Ruby,那么应该通过字符串system
引用该安装。您案例中新安装的版本应称为1.9.2
。
要使RVM按预期工作,必须将rvm
shell函数加载到shell中。如何执行此操作在第2部分中的RVM Installation Documentation - “将RVM作为函数加载到shell会话中”中进行了描述。
当命令type rvm | head -n1
响应:
rvm is a shell function
如果没有正确加载,它会告诉你这样的事情:
rvm is /home/someone/.rvm/bin/rvm
如果您最终使用它,您可以使用rvm 1.9.2
或rvm system
等命令切换活动的Ruby版本。您可以通过命令rvm list
获取RVM识别的所有Ruby版本及其标识符字符串的列表。
您还可以通过发出以下命令,从一开始就指定在所有新shell会话中启用哪个Ruby版本:
rvm --default 1.9.2