如何解决黄瓜'无法加载此类文件'的警告?

dgl*_*ass 10 ruby windows cucumber gherkin

我正在尝试通过'The Cucumber Book',但Cucumber并没有像预期的那样表现.

我在Windows 7(32位)上,我有理由相信我已经正确安装了Ruby和必要的gem.

但是,当我运行黄瓜时,我收到以下消息:

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
Run Code Online (Sandbox Code Playgroud)

这继续了一下,列出了更多被检查的路径,然后是"恢复到Ruby词法分析器",并且发出了一条消息"找不到en的lexer(无法加载这样的文件--gherkin/lexer/en)......"

根据它检查的路径,似乎它想要'gherkin-2.11.6-x86-mingw32/lib'文件夹中的'2.0'文件夹,这显然不存在.但是,'1.8'和'1.9'文件夹似乎有'gherkin_lexer_en'文件(实际上是'gherkin_lexer_en.so').

作为一个疯狂的猜测,我复制了1.9文件夹,并将其命名为2.0.我并不认为这会起作用,但我认为值得一试.

如何让黄瓜查看我的其中一个文件夹,或者获得一个可以接受的2.0文件夹?

mar*_*385 5

$ gem install gherkin --platform ruby

转到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于2014年1月18日发表评论

像魅力一样为我工作..


jos*_*oli 2

在 Windows 上,您暂时必须使用 Ruby 1.9。目前尚未发布 Gherkin 的 Ruby 2.0 版本。