Подтвердить что ты не робот

RubyTest в Sublime Text 2

Я пытаюсь получить RubyTest для работы в Sublime Text 2. Я выполнил инструкцию по Readme Github и получил следующую ошибку. Кто-нибудь знает, как я могу это исправить?

/bin/sh: rspec: command not found
4b9b3361

Ответ 1

Чтобы заставить это работать, вам нужно только изменить один параметр в пакете RubyTest в sb2.

Если вы используете rvm, ваш rspec gem устанавливается через rvm и не найден в /bin/sh

Итак, вам нужно установить пакет RubyTest для Sublime Text 2 для автоматической проверки ваших переменных среды rvm.

Что нужно изменить:

1) В Sublime Text 2 перейдите в раздел "Настройки | Обзор пакетов". Это откроет каталог ваших пакетов.

2) Откройте каталог "RubyTest" и найдите файл "RubyTest.sublime-settings".

3) найдите строку, которая гласит:

"check_for_rvm": false,

и измените его на:

"check_for_rvm": true,

сохранить изменения.

4) Это. Теперь он должен работать.

Удача

Ответ 2

Это сработало для меня:

Если вы используете RVM, откройте проект из командной строки из папки проекта:

subl .

Затем он подключит рубиновую версию и драгоценные камни.

Ответ 3

Это, скорее всего, связано с использованием RVM. Что такое вывод

which rspec

в командной строке?

Также следует отметить, что только потому, что вы включили rspec-rails в Gemfile, это не означает, что "rspec" - это исполняемая программа, о которой ваша система знает.

Вы можете отредактировать RubyTest.sublime.settings, чтобы ссылаться на ваш конкретный путь к исполняемому файлу rspec, и он должен работать.

К сожалению, у этого есть неприятный побочный эффект от привязки к одной конкретной версии Ruby. Если вы используете RVM для переключения между версиями, вам нужно будет обновить свои sublime.settings.

Одна работа вокруг - запуск Sublime из командной строки.

Ответ 4

Запуск Sublime Text 2 (2165) с плагином RubyTest. Ruby и Gems управлялись с помощью rbenv (0.3.0).

Первая попытка использования RubyTest дала следующую ошибку:   /bin/sh: rspec: command not found

Из командной строки я побежал   which rspec и он не дал никаких результатов.

После некоторого копания я прочитал, что bundle install не помещает исполняемые файлы в ваш $PATH. Альтернативные пути к исполняемым файлам, которые иногда не подбираются с помощью прокладок

Чтобы использовать исполняемый файл вне приложения, мне пришлось удалить камень, установленный поставщиком, и затем установить его вручную.

gem uninstall rspec

gem install rspec

за которым следует

rbenv rehash (Обратите внимание, что вам нужно будет запустить bundle внутри вашего приложения, чтобы он обновлял местоположение драгоценного камня)

Это должно было быть выполнено для каждой версии ruby, которую я имел под управлением rbenv.

Теперь, когда я запускаю

which rspec

он найден в пути, и RubyTest может без проблем захватить его.

fwiw, мне пришлось повторить шаги для огурца. Чтобы использовать все функции RubyTests, исполняемые файлы ruby, cucumber и rspec должны быть в вашей $PATH (для rbenv это ~/.rbenv/shims/).

Ответ 5

Попробуйте изменить путь к usr/local/bin/

Я написал сообщение о Sublime Text Build Scripts, которое должно показать вам, как это сделать.

http://wesbos.com/sublime-text-build-scripts/

Ответ 6

Такая же проблема для меня. С rspec 1.3.2, что я только что сделал, чтобы исправить это, нужно отредактировать файл RubyTest.sublime.settings в папке плагина, изменив ключ "ruby_rspec_exec":

"ruby_rspec_exec": "rspec"

to

"ruby_rspec_exec": "spec"

Это действительно зависит от того, где у вас есть исполняемый файл rspec...

Ответ 7

У меня была такая же проблема после установки RubyTest путем клонирования из репо. Я просто удалил и переустановил пакет внутри Sublime, используя Control Package, тогда все сработало нормально.

Ответ 8

Вы можете увидеть резюме этой проблемы здесь: https://github.com/maltize/sublime-text-2-ruby-tests/issues/36

По сути, то, что сказал Джим, было правильным, вы используете RVM или какой-то другой менеджер ruby ​​vm, который аналогично обезьян с вашим PATH. Следуя указаниям из этой проблемы, я сделал следующее:

Установите двоичные файлы в моем проекте

bundle install --binstubs

Добавьте путь к моему .bashrc и отправьте его

echo 'export PATH="./bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Откройте возвышенный проект из командной строки (чтобы PATH был доступен в Sublime Text 2)

subl .

Ответ 9

Следующие шаги работали для меня (я столкнулся с той же ошибкой, что и OP):

  • Установите плагин RubyTest через диспетчер управления пакетами. Примечание * Если у вас нет установленного менеджера пакетов, я настоятельно рекомендую его для управления возвышенными плагинами - подробнее здесь.

  • Обязательно добавьте здесь в свой файл RubyTest.sublime-settings. Этот файл можно найти в (из меню): Preferences -> Package settings -> RubyTest -> Settings User

  • Сохраните файл, закройте Sublime и перезапустите Sublime из терминала в папке проекта с помощью (поэтому PATH доступен в Sublime): subl .

Ответ 10

Нет, вам не нужно менять пути, запускать возвышенное из командной строки и т.д. Если вы используете RVM, вам нужно сделать это только:

Перейдите в Sublime Text 2, перейдите к   preferances- > настройки пакета → RubyTests

и выберите параметры - пользователь или настройки - по умолчанию (в зависимости от того, что вы используете) и измените строку:

"run_rspec_command": "rspec {relative_path}"

к

"run_rspec_command": "bundle exec rspec {relative_path}"

И так далее - добавьте bundle exec ко всем командам

enter image description here

Ответ 11

Я провел много часов, борясь с этой же проблемой! Я не мог заставить rspec работать в Sublime Text 2, используя Michael Hartl "Ruby on Rails Tutorial". Он продолжал говорить:

/bin/sh: rspec: command not found

Наконец-то я понял, что пакет RubyTest (https://github.com/maltize/sublime-text-2-ruby-tests) смотрел в WRONG PLACE для моего RVM!

На моем Mac путь для RubyTest составляет /Library/Application Support/Sublime Text 2/Packages/Ruby Test

Во-первых, чтобы RubyTest искал RVM, я изменил параметр в RubyTest.sublime-settings из

"check_for_rvm": false, to "check_for_rvm": true,

Затем я выкопал в код Python run_ruby_test.py: https://github.com/maltize/sublime-text-2-ruby-tests/blob/master/run_ruby_test.py

В строке 151 внутри класса BaseRubyTask у него был неправильный путь для моего RVM:

rvm_cmd = os.path.expanduser('~/.rvm/bin/rvm-auto-ruby')

Я изменил его на полный правильный путь: rvm_cmd = os.path.expanduser('/usr/local/rvm/bin/rvm-auto-ruby')

Если это не ваш путь, найдите правильный путь, набрав

$ which rvm-auto-ruby и вместо этого замените.

После сохранения run_ruby_test.py я отправился в Terminal, cd в каталог приложений Rails и запустил spork

Наконец, я открыл static_pages_spec.rb в Sublime Text 2. Теперь все тесты работают от него!

Ответ 12

Если вы ищете поддержку пакета, я нашел рабочую конфигурацию, которую я разместил здесь

Ответ 13

Я использую rbenv и обнаружил, что добавление следующего в мой .bashrc сделал трюк

/Users/user/.rbenv/shims/rspec