在TextMate中使用RVM和不同的gemsets

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

你有没有解决这个问题?

我发现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 ,然后转到Preferences> Advanced> Shell Variables并将TM_RUBY设置为相同的路径。

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

设置你的GEM_HOME

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

设置你的GEM_PATH

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