2011-02-09 12 views
6

私はRVMをセットアップし、RVM best practicesごとに自分のプロジェクト用に個別の宝石を作りました。現在TextMateでテストファイルを実行していません。私はread hereの処理をしています。問題は、ガイドが私にただ一つのジェムセット(「Rails3」と呼んでいる)を持っていると予想しているためにうまくいかないことです。私は通常、一度に2つのプロジェクトを開いている(異なる宝石セットを使用している)ので、このアプローチを効果的に使用することはできません。TextMateで異なるGemsetを持つRVMを使用する

この問題を解決したことがありますか?

答えて

12

私はRVMラッパーメソッドが非常にバグであることを発見しました。あなたが退屈な設定をしない限り、ジェムセットでは全く動作しません。

私は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に入力してから、[環境設定]> [詳細設定]> [シェル変数]に移動し、TM_RUBYを同じパスに設定します。

+0

男、私は[ための私のupvotesを保存してきました質問](http://stackoverflow.com/badges/155/electorate)、私はこれに1つを費やす必要があります。非常に素晴らしい! – Phrogz

+0

アップフォートを保存しないでください。あなたはあなたと一緒にそれらを取ることはできません。 –

+0

あなたはすごくクールです:-)たくさんありがとう!ここで幸せな人:-) – jriff

0

私はこのソリューションがさらに簡単であることを発見しました。アドバンスト - - TextMateの環境下ではシェル変数:設定し

あなたGEM_HOME

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

設定し、あなたのGEM_PATH

env | grep GEM_PATH | awk '{ sub(/GEM_PATH=/, ""); print }' 
関連する問題