安装RVM后找不到Ruby 1.9.2

时间:2012-10-24 12:54:34

标签: ruby ubuntu rvm octopress

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

3 个答案:

答案 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响应:

时,您可以查看是否正确加载了shell函数
rvm is a shell function

如果没有正确加载,它会告诉你这样的事情:

rvm is /home/someone/.rvm/bin/rvm

如果您最终使用它,您可以使用rvm 1.9.2rvm system等命令切换活动的Ruby版本。您可以通过命令rvm list获取RVM识别的所有Ruby版本及其标识符字符串的列表。

您还可以通过发出以下命令,从一开始就指定在所有新shell会话中启用哪个Ruby版本:

rvm --default 1.9.2