ruby-on-rails – RVM:指定要使用的ruby版本

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – RVM:指定要使用的ruby版本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道如何使用RVM,但现在我有一个奇怪的问题,我不明白为什么.

这是简单的故事(我正在使用Ubuntu):

我创建了一个Rails项目,这个项目的目标是“书店”.

我通过cd bookstore进入项目目录,并键入命令rvm list,如下所示:

bookstore/$rvm list

rvm rubies

   ruby-1.9.2-p136 [ i386 ]
   ruby-1.8.7-p352 [ i386 ]
   ruby-1.8.7-p330 [ i386 ]
   ruby-1.8.6-p420 [ i386 ]
   ruby-1.9.2-p290 [ i386 ]

因为我没看到=>箭头标志应该指示当前使用的ruby版本,所以我用以下RVM命令指定了ruby版本:

bookstore/$rvm use ruby-1.9.2-p290
Using /home/usr/.rvm/gems/ruby-1.9.2-p290

现在,如果我的rvm列表我看到我的项目正在使用ruby v1.9.2:

bookstore/$rvm list
rvm rubies

   ruby-1.9.2-p136 [ i386 ]
   ruby-1.8.7-p352 [ i386 ]
   ruby-1.8.7-p330 [ i386 ]
   ruby-1.8.6-p420 [ i386 ]
=> ruby-1.9.2-p290 [ i386 ]

在这一点上,每件事情都可以正常工作!

但是,如果现在我在Ubuntu上打开一个新的终端窗口,然后cd到项目目录,再次运行rvm命令,我得到:

bookstore/$rvm list

rvm rubies

    ruby-1.9.2-p136 [ i386 ]
    ruby-1.8.7-p352 [ i386 ]
    ruby-1.8.7-p330 [ i386 ]
    ruby-1.8.6-p420 [ i386 ]
    ruby-1.9.2-p290 [ i386 ]

=>以指示我之前指定的红宝石版本?为什么还需要我指定ruby版本?

当我打开一个新的终端窗口时总会发生.如何让我的项目“记住”我指定的红宝石版本?

解决方法

戴夫是对的,你应该设置一个默认值.而且,还要考虑在每个项目或每个机器的基础上定义一个 .rvmrc文件.我使用项目特定的rvmrc文件,所以我可以为每个项目使用不同的rubies和gemsets,并且改变到目录自动切换到该项目的ruby / gemset.

例如,我的rvmrc为公司网站项目:

brett@bender:~/Sites/bearded/bearded(master)$cat .rvmrc 
rvm 1.9.3@bearded

编辑:为了清楚,为了使用rvmrc文件解决问题,请执行以下操作(假设您已经安装了所需的ruby版本,并为此项目的gem创建了一个gemset):

>在bookstore /目录下创建一个名为.rvmrc的文件(在你喜欢的编辑器中)
>将rvm ruby​​-1.9.2-p290添加文件中并保存(如果您有默认的gemset,则可以使用rvm ruby​​-1.9.2-p290@gemset_name)
>将目录从您的书店目录中更改,然后更改为该目录.
> RVM应该问你是否要信任这个.rvmrc文件(是)
> RVM应该自动将您的活动ruby和gemset切换到该项目的rvmrc文件中指定的.

另请注意,如果您的RVM早于1.8.0版本,则需要打开rvmrc文件支持(版本1.8.0默认启用).我的问题顶部的链接包含说明,如果你这么倾向.

原文链接:https://www.f2er.com/ruby/273752.html

猜你在找的Ruby相关文章