我已经设置了RVM,并根据RVM best practices为我的项目制作了单独的gemset。现在在TextMate中运行测试文件不起作用,我有read here做什么。问题是,它不会工作,因为指南期望我只有一个gemset(他们称之为“Rails3”)。我通常每次打开2-3个项目(使用不同的gemset),所以我无法有效地使用这种方法。在TextMate中将RVM与不同的gemset结合使用
有没有人解决过这个问题?
我已经设置了RVM,并根据RVM best practices为我的项目制作了单独的gemset。现在在TextMate中运行测试文件不起作用,我有read here做什么。问题是,它不会工作,因为指南期望我只有一个gemset(他们称之为“Rails3”)。我通常每次打开2-3个项目(使用不同的gemset),所以我无法有效地使用这种方法。在TextMate中将RVM与不同的gemset结合使用
有没有人解决过这个问题?
我发现RVM wrappers方法很麻烦,而且你发现它根本不能用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
设置为相同的路径。
我发现这个解决方案更简单。根据TextMate的首选项 - 高级 - 壳牌变量:
设置你的GEM_HOME:
env | grep GEM_HOME | awk '{ sub(/GEM_HOME=/, ""); print }'
设置你的GEM_PATH:
env | grep GEM_PATH | awk '{ sub(/GEM_PATH=/, ""); print }'
男人,我一直在[我节省了upvotes问题](http://stackoverflow.com/badges/155/electorate),但我得花一个这个。非常好! – Phrogz 2011-02-09 19:17:47