2010-11-30 2 views
5

В TextMate RVM instructions тексту говорится установить TM_RUBY в /Users/wayne/.rvm/bin/textmate_ruby и the image это показывает, что он установлен в rvm-auto-ruby. Я решил установить его на rvm-auto-ruby, думая, что он будет использовать версию RVM по умолчанию Ruby.TextMate, РВМ и TM_RUBY

Command R При работе в RSpec.bundle, имеющий множество TM_RUBY к rvm-auto-ruby приведет к 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.

В основном вы заменяете со ссылкой на файл. Это то, что я сделал:

  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's версии (1.8.7), если я сделал CMD + R запустить следующий сценарий в TextMate:

puts RUBY_VERSION 

Оценка сценария с использованием CMD + CNTRL + SHIFT + E дал мне 1.9.2.

После переключения на использование этого сценария оба указывают на Ruby 1.9.2, так что по крайней мере, теперь существует некоторая согласованность. Я не вижу, что TextMate отслеживает мою текущую версию RVM Ruby; Вместо этого используется версия по умолчанию, установленная в RVM: rvm use 1.9.2 --default. Это шаг вперед, потому что я могу контролировать, какой Ruby TextMate использует, настроив мой --default.

Если вы решите, что хотите вернуться позже, просто переименуйте или удалите сценарий и обратный шаг 2 выше.

+0

Спасибо, это сработало. Мне также пришлось удалить переменную оболочки PATH из TextMate. Не уверен, как это взаимодействует, или почему я его поместил ранее (не могу вспомнить), но удаление его помогло. – 2012-05-09 06:53:46

10

Установка TM_RUBY в your-path/rvm-auto-ruby

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

должен загрузить все, что рубин и gemset указывается в файле .rvmrc находится в проекте, и если ни один по умолчанию для РВМ по умолчанию. Я просто получил эту работу, и она очень гладкая. Мне нужно было получить последнюю версию rvm

rvm get head 

, чтобы заставить его работать и перезапускать текст. Надеюсь, это поможет.

+0

Да, правильно. Этот пост довольно старый, и с тех пор я использую этот метод. – jspooner 2011-07-16 23:39:21

Смежные вопросы