2011-02-09 30 views
6

我已經設置了RVM,並根據RVM best practices爲我的項目製作了單獨的gemset。現在在TextMate中運行測試文件不起作用,我有read here做什麼。問題是,它不會工作,因爲指南期望我只有一個gemset(他們稱之爲「Rails3」)。我通常每次打開2-3個項目(使用不同的gemset),所以我無法有效地使用這種方法。在TextMate中將RVM與不同的gemset結合使用

有沒有人解決過這個問題?

回答

12

我發現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設置爲相同的路徑。

+0

男人,我一直在[我節省了upvotes問題](http://stackoverflow.com/badges/155/electorate),但我得花一個這個。非常好! – Phrogz 2011-02-09 19:17:47

0

我發現這個解決方案更簡單。根據TextMate的首選項 - 高級 - 殼牌變量:

設置你的GEM_HOME

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

設置你的GEM_PATH

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