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