Textmate Rails3 нет такого файла для загрузки - упаковщик - PullRequest
9 голосов
/ 08 сентября 2010

Когда я пытаюсь запустить тесты из TextMate в Rails3, я получаю сообщение об ошибке, которое прослеживается до boot.rb. Когда я пытаюсь запустить boot.rb через textmate, я получаю эту ошибку:

LoadError: no such file to load — bundler

method gem_original_require in custom_require.rb at line 31
method require  in custom_require.rb at line 31
at top level    in boot.rb at line 4

Это даже в новом проекте рельсов. Я могу запустить тот же файл boot.rb из терминала, вызывающего

ruby <path_to>/boot.rb

Я могу убедиться, что моя переменная TM_RUBY такая же, как когда я вызываю which ruby из командной строки. У вас есть какие-либо подсказки, почему я могу получить эту ошибку?

Ответы [ 4 ]

13 голосов
/ 05 ноября 2010

Я столкнулся с той же проблемой с TextMate и RVM. Что нужно сделать:

  1. Создайте сценарий оболочки для набора гемов, который вы хотите использовать, с помощью этой команды RVM:

    rvm wrapper ree@rails3 textmate
    

    Это добавит новый псевдоним к вашей установке RVM с именем textmate_ruby. Как вы, вероятно, можете сказать, это предполагает, что вы используете Ruby Enterprise (ree) и набор гемов с именем rails3, но здесь будет работать любая строка RVM.

  2. Откройте окно настроек TextMate, перейдите в «Дополнительно»> «Переменные оболочки». Вам необходимо создать (или обновить) переменную оболочки TM_RUBY следующим образом:

    /path/to/your/.rvm/bin/textmate_ruby
    

    Если ваш RVM установлен в вашей директории пользователя (например, моей), это будет:

    /Users/[YOUR USER NAME HERE]/.rvm/bin/textmate_ruby
    
  3. (Необязательно) Вам также может потребоваться / вы хотите установить переменную оболочки RUBYOPT, чтобы указать Ruby загружать рубины. Это может быть необходимо для работы определенных пакетов (например, RSpec). Просто установите значение rubygems.

Это должно быть все, что вам нужно.

3 голосов
/ 31 июля 2012

Я обнаружил, что проще всего использовать rvm-auto-ruby подход.

Найдите двоичный файл rvm-auto-ruby, используя which:

$ which rvm-auto-ruby

Результатом является путь к двоичному файлу с автозагрузкой:

/Users/yourusername/.rvm/bin/rvm-auto-ruby

Добавьте этот путь к TextMate в: Предпочтения -> Дополнительно -> Переменные оболочки

Он работает как псевдоним, указывающий на вашу активную версию Ruby.

Снимок экрана: http://cl.ly/23Yl

Эти инструкции доступны на веб-сайте RVM: https://rvm.io/integration/textmate/

1 голос
/ 24 июня 2011

Чтобы заставить TextMate использовать тот же интерпретатор RVM Ruby, что и в командной строке, я сделал следующее:

  • В командной строке набрал which ruby - для меня это было /Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin/ruby
  • В настройках TextMate я добавил /Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin в начало моей переменной оболочки PATH.
  • В настройках TextMate я добавил новую переменную оболочки GEM_PATH со значением /Users/mgp/.rvm/gems/ruby-1.9.2-p180:/Users/mgp/.rvm/gems/ruby-1.9.2-p180@global
0 голосов
/ 04 ноября 2010

Это может произойти, если вы используете RVM (менеджер версий ruby), а textmate не знает об этом.

Работает ли тест rake из командной строки?

...