Ответ 1
В Windows вам придется использовать Ruby 1.9 на данный момент. Пока еще не опубликован сборник gherkin Ruby 2.0.
Я пытаюсь работать через "Книгу огурцов", но Cucumber не ведет себя так, как ожидалось.
Я нахожусь в Windows 7 (32-разрядная версия), и я уверен, что у меня есть Ruby и необходимые камни, установленные должным образом.
Однако, когда я запускаю огурец, я получаю следующее сообщение:
WARNING: cannot load such file -- 2.0/gherkin_lexer_en
Couldn't load 2.0/gherkin_lexer_en
The $LOAD_PATH was:
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-1.2.1/bin/../lib
C:/Ruby200/lib/ruby/gems/2.0.0/gems/gherkin-2.11.6-x86-mingw32/lib
C:/Ruby200/lib/ruby/gems/2.0.0/gems/builder-3.2.0/lib
C:/Ruby200/lib/ruby/gems/2.0.0/gems/diff-lcs-1.2.1/lib
C:/Ruby200/lib/ruby/gems/2.0.0/gems/cucumber-1.2.1/lib
Это продолжается немного, перечисляя больше проверочных проверок, а затем "Возвращение к Ruby lexer" и сообщение "Нет lexer найдено для en (невозможно загрузить такой файл --gherkin/lexer/en)...
Основываясь на пути, который он проверяет, кажется, что ему нужна папка "2.0" в папке "gherkin-2.11.6-x86-mingw32/lib", которая, очевидно, не существует. Есть, однако, папки "1.8" и "1.9", которые, как представляется, имеют файл "gherkin_lexer_en" (на самом деле "gherkin_lexer_en.so" ).
Как дикая догадка, я дублировал папку 1.9 и назвал ее 2.0. Я действительно не ожидал, что это сработает, но подумал, что это стоит того.
Как получить огурец для поиска в одной из папок, которые у меня есть, или, альтернативно, получить папку 2.0, на которой он будет принимать?
В Windows вам придется использовать Ruby 1.9 на данный момент. Пока еще не опубликован сборник gherkin Ruby 2.0.
$ gem install gherkin --platform ruby
перейдите к папке ниже в каталоге рубиновой установки
{rubyDir}\lib\ruby\gems\2.0.0\gems\gherkin-2.12.2\lib\gherkin
может быть другим путем для вас, ребята
Изменить *lib/gherkin/c_lexer.rb:7
измените значение префикса, как показано ниже:
prefix = ''
Найдено ответов по ссылке ниже https://github.com/cucumber/gherkin/issues/273
с ответом mscharley прокомментировал 18 января 2014 г.
работал у меня как шарм.
Если вы используете gherkin ver 2.12.1, вы теперь сможете использовать огурец с рубином 2.0 в Windows.
Сначала установите gherkin-2.12.1 с параметром --ignore-dependencies.
Требуется опция зависимостей от резонанса - независимо от того, что без указания его будет установлена json 1.4.X, которая является очень старой версией и не может быть установлена на ruby 2.0.
На этом этапе вы должны иметь возможность рубинового огурца на ruby 2.0, но вы увидите сообщение об ошибке, как указано выше, в качестве предупреждающего сообщения. Это означает, что вы все еще можете использовать огурец, хотя вы видите сообщение.
Если вы хотите удалить ошибку, выполните следующие действия.
создать папку [2.0] в [ruby installed dir]\lib\ruby \ gems\2.0.0\gems\gherkin-2.12.1\lib (эта папка включает gherkin_lexer_XX.so).
скопировать все содержимое в [ruby installed dir]\lib\ruby \ gems\2.0.0\gems\gherkin-2.12.1\lib в созданную папку [2.0] (вам не нужно скопируйте папку [2.0], которую вы создали).