在TextMate中使用具有不同gemsets的RVM

时间:2011-02-09 18:28:15

标签: ruby textmate rvm

我根据RVM best practices设置了RVM并为我的项目制作了单独的gemsets。现在在TextMate中运行测试文件不起作用,我有read here该怎么做。问题是它不起作用,因为指南希望我只有一个gemset(他们称之为“Rails3”)。我通常一次打开2-3个项目(使用不同的gemsets),所以我无法有效地使用这种方法。

你们有没有解决这个问题?

2 个答案:

答案 0 :(得分:12)

我发现RVM包装器方法非常错误,正如您所发现的那样,除非您进行了大量繁琐的设置,否则它根本不适用于gemsets。

我使用以下脚本TM_RUBY取得了一些成功:

#!/bin/bash

base_dir=${TM_PROJECT_DIRECTORY:-$PWD}
cd $base_dir
exec $MY_RUBY_HOME/bin/ruby $*

只要您在TextMate项目中并且项目根目录中有.rvmrc文件,它就会在.rvmrc中指定的Ruby版本和gemset中运行您的代码。 cd确保RVM发现.rvmrc

将上面的代码放入~/bin/textmate_ruby_wrapper,然后转到偏好设置>高级> Shell变量并将TM_RUBY设置为相同的路径。

答案 1 :(得分:0)

我发现这个解决方案更简单了。在TextMate首选项 - 高级 - 外壳变量:

设置 GEM_HOME

env | grep GEM_HOME | awk '{ sub(/GEM_HOME=/, ""); print }'

设置 GEM_PATH

env | grep GEM_PATH | awk '{ sub(/GEM_PATH=/, ""); print }'