2011-07-01 13 views
10

EDYCJA: Znalazłem rozwiązanie tego problemu, możesz przeczytać to w mojej odpowiedzi poniżej.Jak zmienić wersję Ruby w Textmate?

Używam Textmate na Snow Leopard i zainstalowałem ruby ​​1.9. Problem polega na tym, że z jakiegoś powodu Textmate używa Ruby 1.8.2

Ale kiedy używam IRB lub uruchamiam skrypty ruby ​​dla powłoki, używana jest właściwa wersja Rubiego (1.9).

Jak mogę skonfigurować Textmate, aby korzystał z wersji 1.9.2?

Byłem googlingiem i najwyraźniej trzeba użyć zmiennej T_RUBY i textmate, i ustawić pewną zmienną środowiskową w OSX, ale jak dotąd żadna z metod, które znalazłem nie działa dla mnie.

Czy ktoś mógłby krok po kroku rozwiązać ten problem?

Update: Już próbowałem dodanie rubinowy binarne ścieżkę do TM_RUBY w TextMate, a ja dostać ten błąd:

> Can't find 
> “/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> ” on PATH. Theme: The current PATH is: 
> /usr/bin /bin /usr/sbin /sbin Please 
> add the directory containing 
> “/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
> ” to PATH in TextMate's Shell 
> Variables preferences. 
+0

Może pomóc ** Wykonanie Line (R)^** w nowym dokumencie TextMate: 'wpisać -a rubin && echo "TM_RUBY = $ TM_RUBY" && echo "PATH = $ PATH"' – sam

Odpowiedz

0

Korzystanie ze ścieżki, która który ruby ​​ dał mi nie działa. Po pewnym czasie szukania go znalazłem rozwiązanie, które działało, wykorzystując ścieżkę auto-ruby rvm jako zmienną TM_RUBY. Ścieżka: /Users/0al0/.rvm/bin/rvm-auto-ruby Powyższe ma zastosowanie tylko w przypadku korzystania z rvm.

7

obszarze Preferencje/Zaawansowane/zmiennych powłoki, dodać nową zmienną o nazwie TM_RUBY. I wprowadź absolutną ścieżkę twojego binarnego rubinu.

Można uzyskać ten ostatni otwierając terminal i wpisując:

which ruby 
+0

To nie działa ... Otrzymuję następujący błąd (patrz następny komentarz) –

+0

Nie można znaleźć "/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby/Users/myname /. rvm/ruby ​​/ ruby-1.9.2-p180/bin/ruby ​​/Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby "na PATH. Motyw: Obecna ścieżka to: /usr/bin /bin /usr/sbin /sbin Należy dodać katalog zawierający „/Users/myname/.rvm/rubies/ruby-1.9.2- p180/bin/ruby ​​ /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby /Users/myname/.rvm/rubies/ruby-1.9.2-p180/bin/ruby "Do PATH w preferencjach zmiennych powłoki TextMate. –

+1

@ 0al0 To jest nieczytelne jako komentarz. Zmodyfikuj oryginalne pytanie, podając szczegółowe informacje o tym, co wypróbowałeś, krokach, które wykonujesz, by je przetestować, oraz o błędach, które otrzymujesz. – Phrogz

31

Jeśli używasz RVM, może można spróbować wpisać:

> which rvm-auto-ruby 
/Users/eddie/.rvm/bin/rvm-auto-ruby 

i ustawić ścieżkę zmiennej powłoki o nazwie "TM_RUBY" w perferences TextMate jak moim zrzucie

http://dl.dropbox.com/u/6931090/downloads/textmate-preferences.png

Nadzieję, że pomaga :)

+0

Dzięki Eddie. Używam RVM i spróbuję tego, kiedy wrócę do domu –

+0

Nie ma za co. –

+0

Działa jak wdzięk –

2

Jeśli używasz which ruby i TextMate mówi exec: rbenv: not found, musisz wpisać to zamiast: rbenv which ruby. Użyj tej ścieżki w TM_RUBY.

+0

Jeśli zawsze chcesz używać aktualnej wersji rbenv, myślę, że powinieneś ustawić 'TM_RUBY' ='/usr/local/var/rbenv/shims/ruby'. – sam

+0

A może po prostu dodasz '/ usr/local/var/rbenv/shims' do' ŚCIEŻKI 'TextMate'a. – sam

4

Rozwiązanie jest bardzo proste, nie są potrzebne specjalne procedury instalacyjne. Jak wspomniano na stronie TextMate blog, wszystko, co musisz zrobić, to powiedzieć powiązanemu tekstowi zmienną ścieżki. TextMate domyślnie nie ładuje tych informacji. W Preferencjach przejdź do zakładki Zmienne Zmodyfikuj dodaj zmienną PATH (jeśli jeszcze nie istnieje) z wartością, $PATH:/usr/local/bin. W ten sposób TextMate skopiuje PATH systemu. Rubin systemu jest w /usr/bin/ruby, który jest zawarty w domyślnej ścieżce OSX. Jeśli zainstalujesz niestandardową wersję ruby, dodaj również tę ścieżkę, na przykład tutaj dołączyłem /usr/local/bin (nie zapomnij o dwukropku).

Updating the PATH variable in TextMate2 preference pane

Powiązane problemy