2010-11-30 7 views
5

TextMate RVM instructionsでは、TM_RUBY/Users/wayne/.rvm/bin/textmate_rubyに、the imageにはrvm-auto-rubyに設定されていることを示すテキストが表示されます。私は、RVMのデフォルトのRubyバージョンを使用すると考えてrvm-auto-rubyに設定することにしました。TextMate、rvm、TM_RUBY

TM_RUBYrvm-auto-rubyに設定したRSpec.bundleでCommand Rを実行すると、load errorになります。 textmate_rubyに設定すると動作します。

ここでの唯一の問題は、TextMateがそのファイルにハードコードされているので、常にRubyのデフォルトバージョンを使用するとは限りません。

/Users/jspooner/.rvm/bin/textmate_ruby

#!/usr/bin/env bash 

if [[ -s "/Users/jspooner/.rvm/environments/ruby-1.9.2-head" ]] ; then 
    source "/Users/jspooner/.rvm/environments/ruby-1.9.2-head" 
    exec ruby "[email protected]" 
else 
    echo "ERROR: Missing RVM environment file: '/Users/jspooner/.rvm/environments/ruby-1.9.2-head'" >&2 
    exit 1 
fi 

  1. TM_RUBY=rvm-auto-rubyは実際に何をすべきですか?
  2. TextMateにRVMのデフォルトを使用させる方法はありますか?

答えて

7

他の同様の質問Rspec bundle is broken in TextMate and rvmを参照してください。 RVM/Textmate doesnt recognize .rvmrc Options


この同じ問題を追いかけて他の人を助けるためには、解決策はであると思われます。

基本的には、~/.rvm/bin/textmate_rubyソフトリンクをファイルに置き換えます。これは私がやったことです:

  1. cd ~/.rvm/bin
  2. mv textmate_ruby old.textmate_ruby
  3. は、以下の内容を使用して、ソフトリンクを置き換えるために同じディレクトリにtextmate_rubyと呼ばれるシェルスクリプトを作成します。
     
    
    

    !/usr/bin/env sh

    source ~/.rvm/scripts/rvm cd . exec ruby "[email protected]"
  4. chmod +x textmate_ruby

この変更を行う前に、私が行った場合、私のシステムのRubyのバージョン(1.8.7)が表示されます。CMD + RはTextMateで次のスクリプトを実行します

puts RUBY_VERSION 

CMD + CNTRL + SHIFTが私1.9.2を与えた + Eを使用してスクリプトを評価します。

このスクリプトの使用を切り替えると、両方ともRuby 1.9.2を指しているので、少なくともここでは一貫性があります。 TextMateが現在設定されているRVM Rubyのバージョンをまだトラッキングしていない代わりに、RVMに設定されたデフォルトのバージョンを使用しています:rvm use 1.9.2 --default。これは私が--defaultを調整してRuby TextMateが使用するものを制御できるので、まだ一歩前進しています。

スクリプトを後で元に戻したい場合は、スクリプトの名前を変更または削除して、上記の手順2と逆の手順を実行します。TM_RUBYを設定

+0

ありがとうございました。私はTextMateから 'PATH'シェル変数も削除しなければなりませんでした。これがどうやって相互作用していたのか、それとも以前に置いたのか(覚えていないのか)は分かりませんが、それを取り除くと助けになりました。 –

10

your-path/rvm-auto-ruby

http://rvm.io/integration/textmate/

はRVMのデフォルトになしデフォルトプロジェクトにしている場合あります.rvmrcファイルに示されているものは何でもルビーとgemsetロードする必要があります。私はちょうどこれを働かせ、それは非常に滑らかです。私はrvmの最新バージョンを入手する必要がありました

rvm get head 

Textmateを動作させて再起動する必要がありました。希望が役立ちます。

+0

あなたの正しい。この投稿はかなり古く、私はこの方法を使ってきました。 – jspooner

+1

また、 '/ Users/username/.rvm/bin'をTextMateの' PATH'に追加して 'TM_RUBY'として' rvm-auto-ruby'を使用することもできます。 –

+0

これはgemの実行ファイル –