Проблемы с выпуском огурцов Textmate - ошибка "Выполнение функции"

Из файла функций огурца, когда я перехожу к "Запуск функций", я получаю сообщение об ошибке ниже во всплывающем окне.

Как это исправить?


/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require': no such file to load -- /Users/evolve/Projects/i9/Tornelo/.bundle/environment (LoadError) from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in require 'из/Пользователи/эволюция/Library/Поддержка приложений/TextMate/Bundles/Cucumber.tmbundle/Поддержка/lib/cucumber/mate/../mate.rb:10 из/Пользователи/evolve/Library/Поддержка приложений/TextMate/Bundles/Cucumber.tmbundle/Поддержка/lib/cucumber/mate/feature_helper.rb: 1: in require' from /Users/evolve/Library/Application Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate/feature_helper.rb:1 from /tmp/cucumber-906.rb:2:in require ' из/tmp/cucumber-906.rb:2

Ответ 1

У меня была такая же ошибка. Чтобы исправить это, вам необходимо отредактировать этот файл:

/Users/richie/Library/Application Support/TextMate/Pristine Copy/Bundles/Cucumber.tmbundle/Support/lib/cucumber

Замените строку 10 следующими двумя строками:

environment_file = File.join(ENV['TM_PROJECT_DIRECTORY'], bundle_path, "environment")
require "#{enviroment_file}" if File.exists?("#{environment_file}.rb")

Таким образом, он загружает только файл, если он существует.

Я использую RSpec 2.0, поэтому мне также пришлось модифицировать rspec для строки 23 (теперь строка 24):

require 'rspec'

Ответ 2

Это случилось со мной, так как я загрузил rvm и прошел через шаги, перечисленные в пакетах для textmate. Теперь, когда я запускаю функцию для функции огурца из textmate, я получаю сообщение об ошибке ".bundle/environment no такой файл для загрузки". У меня нет .bundle/environment.rb, поэтому я создал пустую, и функция запускается, но файл environment.rb удаляется каждый раз! (Заставляю меня очень заинтересоваться этим исправлением!) Если у вас есть обратная связь, чтобы добавить к вашему сообщению, мне было бы очень интересно его услышать.

Так как я разместил это, я перезагрузил комплект огурцов Textmate, и проблема исчезла. Помните, что - инструкции по установке неверны - они должны читать

mkdir -p ~/Library/Application\ Support/TextMate/Bundles/
cd ~/Library/Application\ Support/TextMate/Bundles
rm -rf Cucumber.tmbundle
git clone http://github.com/drnic/cucumber-tmbundle Cucumber.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'

Вам не нужна строка 'rm -rf Cucumber.tmbundle', если это первая установка. Нет необходимости в редактировании файлов! После того, как вы это сделаете, вы сможете обновить его из текстового материала.

Ответ 3

У меня было много проблем с тем, чтобы моя функция CMD-R работала, но, получив ее от последнего мастера от автора Cucumber, прошла долгий путь:

https://github.com/aslakhellesoy/cucumber-tmbundle/tree/

Для строки 10 в этом файле:

/Пользователи/richie/Library/Поддержка приложений/TextMate/Первичная копия/Связки/Cucumber.tmbundle/Поддержка/lib/cucumber/mate.rb

Просто прокомментируйте это! Так или иначе, у меня не было файла bundle.environment. Но, как написано выше, обязательно измените строку "require spec", если у вас нет Gem. Стыдно, что сообщения об ошибках не читаются в этой статье.

И еще! Нет больше никакой переменной "TM_CUCUMBER_BIN", и оказывается, что моей среде не нравится "огурец № {имя_файла}", а скорее "bundle exec oucumber # {имя_файла}". (Потому что у меня также есть установленные среды Rails 2.3.11, вот почему)

В

~ Cucumber.tmbundle/Поддержка/Library/огурец/помощник/runner.rb:

Измените строку 52 из:

      @output << %Q{Running: #{full_command = "#{RUBY_BIN} #{command} #{@file.rake_task} #{argv.join(' ')}"} \n}

к

      @output << %Q{Running: #{full_command = "bundle exec cucumber #{@file.rake_task} #{argv.join(' ')}"} \n}

Еще одна вещь! У меня есть мои файлы функций, вложенные в разные подкаталоги, поэтому он понятия не имел, куда вывести определения моего шага, несмотря на то, что вызывается Dir.chdir(). Поэтому мне пришлось добавить

TM_CUCUMBER_OPTS = -r my_features_dir --format = html

в настройках Preferences = > Advanced = > ShellVariables в TextMate.

Ответ 4

Codeape разветкил и обновил пакет. Я применил взломать себя с небольшой помощью от некоторых гуру.

Попробуйте следующее: github.com/codeape/cucumber-tmbundle

Сообщите мне, как идет пользователь241560.

Ответ 5

У меня была та же проблема и я решил, выполнив следующие шаги:

> mate ~/Library/Application\ Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate.rb

Отметьте или удалите строку 20 (или любую строку, о которой говорится в сообщении об ошибке):

> #require 'spec'

Ответ 6

Кажется, что пакет Textmate Cucumber в настоящее время отстает от разработки в основной ветке. Люди, похоже, решают проблемы по мере их появления, т.е. Bundler/Rspec2/Rails3/RVM.

У кого-нибудь еще есть проблемы, я предлагаю проверить сетевую карту github и найти последние ветки, которые говорят о проблемах, похожих на то, что у вас есть.

https://github.com/aslakhellesoy/cucumber-tmbundle/network