我在工作时使用rvm和rails,当我进入项目目录时,它会自动设置gemset。我记得第一次进入该目录时,我被问到是否要使用指定的gemset,当然我同意了,从那时起它就被设置了。这是我的意思的一个例子:
-( codemonkey )-(~/maintenance)-
-(0)> go
/home/webpath/maintenance
Using /home/webpath/.rvm/gems/ruby-1.9.2-p136 with gemset webpath
-( codemonkey )-(~/maintenance)-
-(0)>
现在,我一直在“练习”安装和设置RVM&家里的Rails让我可以在睡梦中做到(如果我转到另一个RoR工作并想要使用RVM),但对于我的生活我无法得到上述行为。我必须进入项目目录然后:
-( me )-(~/project)-
-(0)> rvm use 1.9.2@myproject
在有人打败我之前,最初让我们进入RVM的那个人离开了公司而我正试图填补他留下的空白,但这有点太糟糕了。我无法弄明白。
有什么想法吗?
答案 0 :(得分:4)
要将特定Ruby绑定到目录,请将.rvmrc
文件放入该目录。然后,您可以按如下方式选择ruby版本和gemset。
rvm use 1.9.2@myproject
离开目录然后重新输入,您将被要求按照问题中的描述确认RVM选择。
答案 1 :(得分:2)
它不记得目录上最后一个使用的集合,它是从该目录中的.rvmrc
文件加载gemset
答案 2 :(得分:0)
这是一个更好的方法来获取.rvmrc文件(来自我的一个项目):
if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
&& -s "${rvm_path:-$HOME/.rvm}/environments/ruby-1.8.6-p399@elearning" ]] ; then
\. "${rvm_path:-$HOME/.rvm}/environments/ruby-1.8.6-p399@elearning"
else
rvm --create "ruby-1.8.6-p399@elearning"
fi
这将创建gemset(如果它尚不存在),然后切换到它。它看起来很复杂,但实际上rvm会为你设置的内容,如果你要求它在你创建一个新的gemset时为你创建一个.rvmrc文件:
rvm --create --rvmrc 1.8.6@project