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

时间:2013-02-27 22:24:33

标签: ruby windows cucumber gherkin

我试图通过“黄瓜书”,但黄瓜表现不尽如人意。

我在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的en(无法加载此类文件 - -gherkin /词法/ 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文件夹?

3 个答案:

答案 0 :(得分: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日发表评论

像魅力一样为我工作..

答案 1 :(得分:2)

在Windows上,您将不得不暂时使用Ruby 1.9。目前尚未发布一个Ruby 2.0版本的小黄瓜。

答案 2 :(得分:-1)

如果你正在使用小黄瓜版本2.12.1,你现在应该可以在Windows上使用带有ruby 2.0的黄瓜。

首先,使用--ignore-dependencies选项安装gherkin-2.12.1。

所需的共振 - 依赖关系选项是,如果不指定它,它将安装json 1.4.X,这是非常旧的版本,无法在ruby 2.0上安装。

此时,您应该可以在ruby 2.0上保存黄瓜,但是您会看到上面的错误消息作为警告消息。这意味着你仍然可以使用黄瓜,虽然你看到了消息。

如果要删除错误,请按照以下步骤操作。

  1. 在[ruby installed dir] \ lib \ ruby​​ \ gems \ 2.0.0 \ gems \ gherkin-2.12.1 \ lib上创建[2.0]文件夹(此文件夹包含gherkin_lexer_XX.so)。

  2. 将[ruby installed dir] \ lib \ ruby​​ \ gems \ 2.0.0 \ gems \ gherkin-2.12.1 \ lib中的所有内容复制到创建的[2.0]文件夹中(您不需要复制您创建的[2.0]文件夹。