Я пытаюсь получить RubyTest для работы в Sublime Text 2. Я выполнил инструкцию по Readme Github и получил следующую ошибку. Кто-нибудь знает, как я могу это исправить?
/bin/sh: rspec: command not found
Я пытаюсь получить RubyTest для работы в Sublime Text 2. Я выполнил инструкцию по Readme Github и получил следующую ошибку. Кто-нибудь знает, как я могу это исправить?
/bin/sh: rspec: command not found
Чтобы заставить это работать, вам нужно только изменить один параметр в пакете 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) Это. Теперь он должен работать.
Удача
Это сработало для меня:
Если вы используете RVM, откройте проект из командной строки из папки проекта:
subl .
Затем он подключит рубиновую версию и драгоценные камни.
Это, скорее всего, связано с использованием RVM. Что такое вывод
which rspec
в командной строке?
Также следует отметить, что только потому, что вы включили rspec-rails в Gemfile, это не означает, что "rspec" - это исполняемая программа, о которой ваша система знает.
Вы можете отредактировать RubyTest.sublime.settings, чтобы ссылаться на ваш конкретный путь к исполняемому файлу rspec, и он должен работать.
К сожалению, у этого есть неприятный побочный эффект от привязки к одной конкретной версии Ruby. Если вы используете RVM для переключения между версиями, вам нужно будет обновить свои sublime.settings.
Одна работа вокруг - запуск Sublime из командной строки.
Запуск 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/
).
Попробуйте изменить путь к usr/local/bin/
Я написал сообщение о Sublime Text Build Scripts, которое должно показать вам, как это сделать.
Такая же проблема для меня. С rspec 1.3.2, что я только что сделал, чтобы исправить это, нужно отредактировать файл RubyTest.sublime.settings в папке плагина, изменив ключ "ruby_rspec_exec":
"ruby_rspec_exec": "rspec"
to
"ruby_rspec_exec": "spec"
Это действительно зависит от того, где у вас есть исполняемый файл rspec...
У меня была такая же проблема после установки RubyTest путем клонирования из репо. Я просто удалил и переустановил пакет внутри Sublime, используя Control Package, тогда все сработало нормально.
Вы можете увидеть резюме этой проблемы здесь: 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 .
Следующие шаги работали для меня (я столкнулся с той же ошибкой, что и OP):
Установите плагин RubyTest через диспетчер управления пакетами. Примечание * Если у вас нет установленного менеджера пакетов, я настоятельно рекомендую его для управления возвышенными плагинами - подробнее здесь.
Обязательно добавьте здесь в свой файл RubyTest.sublime-settings.
Этот файл можно найти в (из меню): Preferences -> Package settings -> RubyTest -> Settings User
Сохраните файл, закройте Sublime и перезапустите Sublime из терминала в папке проекта с помощью (поэтому PATH доступен в Sublime): subl .
Нет, вам не нужно менять пути, запускать возвышенное из командной строки и т.д. Если вы используете RVM, вам нужно сделать это только:
Перейдите в Sublime Text 2, перейдите к preferances- > настройки пакета → RubyTests
и выберите параметры - пользователь или настройки - по умолчанию (в зависимости от того, что вы используете) и измените строку:
"run_rspec_command": "rspec {relative_path}"
к
"run_rspec_command": "bundle exec rspec {relative_path}"
И так далее - добавьте bundle exec ко всем командам
Я провел много часов, борясь с этой же проблемой! Я не мог заставить 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. Теперь все тесты работают от него!
Если вы ищете поддержку пакета, я нашел рабочую конфигурацию, которую я разместил здесь
Я использую rbenv и обнаружил, что добавление следующего в мой .bashrc сделал трюк
/Users/user/.rbenv/shims/rspec