实际上并未使用RVM的当前版本和默认版本

时间:2014-09-03 20:11:09

标签: ruby-on-rails rvm

我正在使用puppet脚本从vagrant构建的虚拟框中运行我的rails应用程序。每次登录时,我都会遇到以下问题: 当我运行rvm list时,其列出的内容之一如下:

=* ruby-2.1.1

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

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

3 个答案:

答案 0 :(得分:0)

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

在早期版本的rvm中,我们必须定义.rvmrc文件,该文件提及要使用的ruby和gemset。

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

如果您只是想要一个快速解决方案,那么在rails目录中创建一个内容为2.1.1的.ruby-version文件

答案 1 :(得分:0)

正确的语法是:

rvm - 默认使用ruby-2.1.1@global

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

答案 2 :(得分:0)

这解决了它:

我将rvm use --default添加到了机器的〜/ .bashrc文件中。