2

我在 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 是什么...

4

3 回答 3

3

您首先安装的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 入门

于 2012-10-24T13:20:17.947 回答
2

也许您还没有切换到 ruby​​ 版本:

rvm use 1.9.2 (assuming you did rvm install 1.9.2)

对于更一般的解释,我在这里给出了一个答案,这可能会有所帮助

于 2012-10-24T13:03:11.863 回答
2

RVM 是一个版本管理器,它使您能够决定要在当前的 shell 会话中使用多个已安装的 Ruby 版本中的哪一个。RVM 通过提供一个名为的 shell 函数来做到这一点,该函数rvm可用于在当前会话中的版本之间切换。这会更改环境变量,尤其是 GEM_HOME 和 PATH,以匹配当前选择的 Ruby 安装。

每个已安装的 Ruby 版本都可以通过特定的标识符字符串进行选择。如果您在安装 RVM 之前已经安装了系统范围的 Ruby,则该字符串应该被引用system。在您的情况下,新安装的版本应该被称为1.9.2.

为了使 RVM 按预期工作,有必要将rvmshell 函数加载到 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
于 2012-10-24T13:27:05.183 回答