2012-10-24 117 views
2

我在Linux Ubuntu 12.04上,我首先安装了Ruby 1.9.2。安装RVM后找不到Ruby 1.9.2

我尝试安装RVM在ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

如何使用RVM红宝石1.9.2使用Octopress,ruby --version在bash结果之后?

我真的不明白RVM是怎么一回事......

+0

是什么'RVM list'回报? – AGS

回答

2

RVM是一个版本管理器,它使您可以决定哪些多的安装要在当前shell会话中使用Ruby版本。 RVM通过提供名为rvm的shell函数来执行此操作,该函数可用于在当前会话中切换版本。这改变了环境变量,特别是GEM_HOME和PATH,以匹配当前选择的Ruby安装。

每个安装的Ruby版本都可以通过特定的标识符字符串进行选择。如果您在安装RVM之前已经安装了系统级的Ruby,那么应该使用字符串system来引用该安装。您的案例中新安装的版本应称为1.9.2

为了使RVM按预期工作,需要将shell函数加载到shell中。如何做到这一点在RVM Installation Documentation的第2部分 - “作为函数将RVM加载到shell会话中”中进行了描述。

你可以看到,如果Shell函数是否正确装入当命令type rvm | head -n1与回应:

rvm is a shell function 

如果没有正确装入它会告诉你是这样的:

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

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

您也可以通过指定发出以下命令一次它的Ruby版本将在所有新的shell会话从一开始就被启用:

rvm --default 1.9.2 
+0

谢谢你,工作! :) – ViniciusPires

+0

请标记为正确答案。 – aef

3

您首先安装的1.9.2 version无法从rvm访问。

当与rvm一起工作时,只会提供通过rvm安装的ruby列表。不包括之前安装的ruby版本 - 虽然仍然存在于文件系统中)。

通过您到目前为止所做的步骤,您在一个位置安装了1.9.2 version,并且安装了1.8.7 version作为rvm的一部分。

通过运行rvm install 1.9.2命令来安装1.9,2 version。之后,当您运行rvm list命令,你应该会看到类似以下的输出:

$ rvm list 

rvm rubies 

    ruby-1.8.7-p358 [ i686 ] 
=* ruby-1.9.2-p320 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

您可以通过rvmrvm use 1.8.7/rvm use 1.9.2命令管理不同版本的红宝石之间进行切换。

下面是一个简短的博文有很好的介绍,以RVM:Get started right with RVM

+0

这是不正确的。 RVM支持系统Ruby安装。看到我的答案。 – aef

+0

明白了!谢谢:) – ViniciusPires