我在 Linux Ubuntu 12.04 上,我首先安装了 Ruby 1.9.2。
在我尝试安装 rvm 以使用 Octopress 后,ruby --version
在 bash 中会导致ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
如何在 ruby 1.9.2 中使用 RVM?
我真的不明白 RVM 是什么...
您首先安装的1.9.2 version
无法从rvm
.
在使用 时rvm
,只提供通过 rvm 安装的 rubies 列表。以前安装的 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 进行了很好的介绍:RVM 入门
也许您还没有切换到 ruby 版本:
rvm use 1.9.2 (assuming you did rvm install 1.9.2)
对于更一般的解释,我在这里给出了一个答案,这可能会有所帮助。
RVM 是一个版本管理器,它使您能够决定要在当前的 shell 会话中使用多个已安装的 Ruby 版本中的哪一个。RVM 通过提供一个名为的 shell 函数来做到这一点,该函数rvm
可用于在当前会话中的版本之间切换。这会更改环境变量,尤其是 GEM_HOME 和 PATH,以匹配当前选择的 Ruby 安装。
每个已安装的 Ruby 版本都可以通过特定的标识符字符串进行选择。如果您在安装 RVM 之前已经安装了系统范围的 Ruby,则该字符串应该被引用system
。在您的情况下,新安装的版本应该被称为1.9.2
.
为了使 RVM 按预期工作,有必要将rvm
shell 函数加载到 shell 中。如何做到这一点在RVM 安装文档的第 2 节 - “将 RVM 作为函数加载到您的 shell 会话中”中进行了描述。
type rvm | head -n1
当命令响应时,您可以查看 shell 函数是否正确加载:
rvm is a shell function
如果没有正确加载,它会告诉你这样的事情:
rvm is /home/someone/.rvm/bin/rvm
rvm 1.9.2
如果你终于让它工作了,你可以使用或之类的命令切换你的活动 Ruby 版本rvm system
。您可以通过命令获取 RVM 识别的所有 Ruby 版本及其标识符字符串的列表rvm list
。
您还可以通过发出以下命令从一开始就指定应在所有新的 shell 会话中启用哪个 Ruby 版本:
rvm --default 1.9.2