Проблемы с выпуском огурцов 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