2014-09-03 125 views
0

我正在使用puppet脚本通过vagrant运行我的rails应用程序。每次我登录到箱子,我有以下问题: 当我运行它列出的东西rvm list一个如下:RVM的当前版本和默认版本并未实际使用

=* ruby-2.1.1 

但是当我尝试运行rails console,它告诉我,我需要安装缺少的宝石。当我运行rvm use default,然后运行rails console时,它工作。为什么rvm中的默认设置和当前设置不起作用 - 为什么我必须去额外的步骤告诉rvm要使用哪个ruby版本?

注意:我确实有一个带有2.1.1的.ruby-version文件。我正在使用rvm版本1.25.25

回答

0

因为您必须告诉rvm使用哪个版本。

在较早版本的rvm中,我们必须定义.rvmrc文件,其中提到要使用哪个ruby和gemset。

在rvm的最新版本中,我们必须定义包含ruby版本的.ruby-version文件和包含gemset名称的.ruby-gemset文件。

如果你只是想要一个快速的解决方案,然后在你的Rails创建目录与内容的.ruby版本文件2.1.1

+0

我已经有一个.ruby版本文件与正确的红宝石版本(我更新了我的问题来指定这个),但它仍然无法正常工作。谢谢! – Marina 2014-09-04 17:09:50

0

正确的语法是:

RVM --default使用[email protected]

该命令将ruby永久设置为选定的默认值。所有新终端将使用您的默认Ruby。你也没有提到关于gemset的任何内容,所以我认为如果你没有搞乱你的设置,全局就会存在。

+0

命令游戏我是一个正确的信息,但是当我再次运行'rails c'时,它不知道轨道是什么。所以它没有工作。不过谢谢! – Marina 2014-09-04 17:09:11

0

这解决了这个问题:

我加rvm use --default机器的〜/ .bashrc文件。