2010-11-30 26 views
5

TextMate RVM instructions'de TM_RUBY değerini /Users/wayne/.rvm/bin/textmate_ruby olarak ayarladığı ve the image'de rvm-auto-ruby olarak ayarlandığını belirtir. RVM'nin varsayılan Ruby sürümünü kullanacağını düşünerek rvm-auto-ruby'e ayarlamaya karar verdim.TextMate, rvm ve TM_RUBY

TM_RUBY'e rvm-auto-ruby olarak ayarlanmış RSpec.bundle'de Command R çalıştırıldığında load error sonuçlanır. Xzx37'ye ayarladığınızda çalışır.

Burada tek sorun, TextMate'in her zaman Ruby'nin varsayılan sürümünü kullanmamasıdır, çünkü bu dosyada kodlanmış.

#!/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 

Yani iki soru:

  1. TM_RUBY=rvm-auto-ruby aslında ne yapmalı?
  2. TextMate'in RVM varsayılanını kullanmasının bir yolu var mı?

cevap

7

Diğer, benzer soruları gör Rspec bundle is broken in TextMate and rvm. RVM/Textmate doesnt recognize .rvmrc Options:


bu aynı sorunu kovalayan başkalarına yardım etmek için, çözüm de görünmektedir.

Temel olarak ~/.rvm/bin/textmate_ruby yumuşak bağlantısını bir dosya ile değiştirirsiniz. Bu benim yaptığım budur:

 

!/usr/bin/env sh

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

    1. cd ~/.rvm/bin
    2. mv textmate_ruby old.textmate_ruby
    3. aşağıdaki içeriğini kullanarak, yumuşak bağlantısını değiştirmek için aynı dizinde textmate_ruby adında bir shell script oluşturun

      Bu değişikliği yapmadan önce sistemimin görebileceğini görürsünüz CMD + R TextMate aşağıdaki komut dosyasını çalıştırmak için:

      puts RUBY_VERSION 
      

      CMD + cntrl + SHIFT bana 1.9.2 verdi + E kullanarak alfabenin değerlendirilmesi.

      Bu komut dosyasını kullanmaya başladıktan sonra, hem Ruby 1.9.2'yi işaret edin, hem de en azından şu anda bir miktar tutarlılık var. Şu anda ayarlanmış olan RVM Ruby versiyonunu henüz TextMate izlemediğimi görmüyorum; Bunun yerine, RVM'de ayarlanan varsayılan sürümü kullanıyor: rvm use 1.9.2 --default. Bu hala ileri bir adımdır çünkü --default'u ayarlayarak hangi Ruby TextMate'in kullandığını kontrol edebilirim.

      Daha sonra geri dönmek istediğinize karar verirseniz, komut dosyasını yeniden adlandırın veya silin ve yukarıdaki adım 2'yi tersine çevirin.TM_RUBY Ayar

    +0

    Teşekkürler, bu işe yaradı. TextMate'ten gelen PATH' kabuk değişkenini de silmeliydim. Bunun nasıl etkileşime girdiğinden veya neden daha önce koyduğumdan emin değilim (hatırlayamıyorum) ama onu kaldırmak yardımcı oldu. –

    10

    your-path/rvm-auto-ruby için

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

    rvm varsayılan hiçbiri varsayılan projesinde ve eğer bulunduğu .rvmrc dosyasında belirtilen ne olursa olsun yakut ve gemset yüklenmelidir. Bu işe yeni başladım ve çok pürüzsüz. Ben o iş ve Textmate yeniden yapmak için RVM

    rvm get head 
    

    son sürümünü almak için gerek yoktu. Umarım yardımcı olur.

    +0

    Doğruyu söyle. Bu yazı oldukça eski ve o zamandan beri bu yöntemi kullanıyorum. – jspooner

    +1

    Ayrıca, TextMate 'PATH'nize'/Users/username/.rvm/bin' komutunu ekleyebilir ve 'rvm-auto-ruby''yi' TM_RUBY' –

    +0

    olarak kullanabilirsiniz. –