Проблемы с комплектом огурцов 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:inrequire 'из / Users / evolve / Library / Application Support / TextMate / Bundles / Cucumber.tmbundle / Support / lib / cucumber / mate /../ mate.rb: 10 из / Users / evolve / Library / Application Support / TextMate / Bundles / Cucumber.tmbundle / Support / lib / cucumber / mate / feature_helper.rb: 1: в 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:inrequire 'из /tmp/cucumber-906.rb : 2


person Evolve    schedule 14.09.2010    source источник
comment
Похоже, что пакет Textmate Cucumber в настоящее время отстает в разработке в основной ветке. Кажется, что люди обращаются к проблемам по мере их появления, например Bundler / Rspec2 / Rails3 / RVM. Всем, у кого есть проблемы, я предлагаю проверить карту сети github и найти последние ветки, в которых говорится о проблемах, аналогичных тем, которые у вас есть. github.com/aslakhellesoy/cucumber-tmbundle/network   -  person Evolve    schedule 16.02.2011


Ответы (6)


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

/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'
person Community    schedule 14.10.2010

Это случилось со мной с тех пор, как я загрузил rvm и выполнил шаги, перечисленные в разделе «Пакеты для textmate». Теперь, когда я «запускаю функцию» для функции огурца из textmate, я получаю сообщение об ошибке «.bundle / environment нет такого файла для загрузки». У меня нет .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», если это первая установка. Редактирование файлов не требуется! Как только вы это сделаете, вы сможете обновиться из textmate.

person martinjh    schedule 13.10.2010
comment
должно быть: git clone git: //github.com/drnic/cucumber-tmbundle.git Cucumber.tmbundle - person avocade; 11.01.2011

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

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

Для строки 10 этого файла:

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

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

И еще! Переменной «TM_CUCUMBER_BIN» больше нет, и оказалось, что моей среде не нравится «огурец # {file_name}», а «bundle exec cucumber # {file_name}». (Потому что у меня также установлены работающие среды Rails 2.3.11, вот почему)

In

~ Cucumber.tmbundle / Support / lib / cucumber / mate / runner.rb:

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

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

to

      @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.

person nessur    schedule 15.02.2011

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

Попробуйте это: github.com/codeape/cucumber-tmbundle

Сообщите мне, как идет user241560.

person Evolve    schedule 13.10.2010

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

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

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

> #require 'spec'
person mw4rf    schedule 26.03.2011

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

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

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

person Evolve    schedule 28.01.2011