Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何解决黄瓜问题';can';t加载这样的文件';警告_Ruby_Windows_Cucumber_Gherkin - Fatal编程技术网

Ruby 如何解决黄瓜问题';can';t加载这样的文件';警告

Ruby 如何解决黄瓜问题';can';t加载这样的文件';警告,ruby,windows,cucumber,gherkin,Ruby,Windows,Cucumber,Gherkin,我正试着看完《黄瓜书》,但黄瓜的表现并不像预期的那样 我使用的是Windows7(32位),我有理由相信我已经正确安装了Ruby和必要的gems 但是,当我运行cucumber时,会收到以下消息: 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/cucum

我正试着看完《黄瓜书》,但黄瓜的表现并不像预期的那样

我使用的是Windows7(32位),我有理由相信我已经正确安装了Ruby和必要的gems

但是,当我运行cucumber时,会收到以下消息:

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找到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。我真的没想到这会奏效,但我觉得值得一试


如何让cucumber在我拥有的某个文件夹中查找,或者选择将其接受的2.0文件夹放置到位?

在Windows上,您将不得不暂时使用Ruby 1.9。目前还没有发布gherkin的Ruby 2.0版本。

如果您使用的是gherkin 2.12.1版,您现在应该可以在Windows上使用cucumber和Ruby 2.0

首先,使用--ignoredependencies选项安装gherkin-2.12.1

reson--ignore dependencies选项是必需的,它将安装json 1.4.X,这是一个非常旧的版本,无法在ruby 2.0上安装

此时,您应该能够在ruby 2.0上使用ruby cucumber,但您将看到上面的错误消息作为警告消息。这意味着您仍然可以使用cucumber,尽管您看到了该消息

如果要删除错误,请执行以下步骤

  • 在[ruby installed dir]\lib\ruby\gems\2.0.0\gems\gherkin-2.12.1\lib上创建[2.0]文件夹(此文件夹包括gherkin\u lexer\u XX.so)

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


  • $gem安装小黄瓜——平台ruby

    转到ruby安装目录下的文件夹

    {rubyDir}\lib\ruby\gems\2.0.0\gems\gherkin-2.12.2\lib\gherkin

    对你们来说可能是另一条路

    修改
    *lib/gherkin/c_lexer.rb:7
    更改前缀的值,如下所示:

    prefix=''

    在下面的链接中找到答案

    答复 mscharley于2014年1月18日发表评论


    像魅力一样为我工作。

    好的。我想我会那么做的。谢谢,有最新消息吗?是否支持Ruby 2.0?就我所见,似乎是这样,但我在黄瓜2.11.7中仍然有同样的错误。我刚刚安装了Ruby 2.0.0,并再次尝试了黄瓜宝石。我仍然得到相同的错误。看,我正在使用Ruby 1.9,但仍然得到相同的问题。小黄瓜正在被下载,但不是在里面。bundle,它要去一个基地。这种行为的原因可能是什么?首先,我必须用
    gem卸载gherkin--force卸载以前的cucumber版本