Ruby Gem term-ansicolor中的语法错误

时间:2017-05-24 18:40:51

标签: ruby rubygems cucumber

我一直在关注“How-to: Use Cucumber with .NET and C# under IronRuby”在Windows上为.net设置Cucumber。我没有安装Ruby,IronRuby和安装Cucumber的问题,但是当我走到这一步时,我的麻烦开始了:

  

检查IronRuby下的Cucumber是否有效:icucumber –help

这里icucumber.bat是我们写的文件,告诉IronRuby在哪里可以找到宝石。我只是从上面的链接复制了脚本并更改了目录以匹配我的安装目录。

我首先遇到了一堆require错误,我根据“IRONRUBY: 0 TO CUCUMBER IN 15 MINUTES”安装Cucumber(0.6.4)修复了错误:

  

IronRuby还没有为最新版本的Cucumber做好准备。

我还通过term-ansicolor安装了gem install term-ansicolor。此时,虽然我摆脱了require错误,但我得到了一个新错误:

c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/term-ansicolor-1.6.0/lib/term/ansicolor/rgb_triple.rb:8: syntax error, unexpected label
  def self.convert_value(color, max: 255)
                                ^

该文件指向rgb_triple.rb,其中包含term-ansicolor gem。所以我不明白是什么导致了这个错误。

1 个答案:

答案 0 :(得分:1)

似乎IronRuby还没有为term-ansicolor的最后一个版本做好准备。在Ruby 2.0周围,可以使用关键字参数(错误消息中的max: 255部分)但是从版本1.9开始,这可以使用哈希进行模拟。

我可以找到的IronRuby的最后一个版本是1.1.3,它声称正在努力与Ruby 1.9兼容,但它似乎有点被遗弃。因此,您可以进一步降级您的宝石或将您的Ruby实现更改为MRI或JRuby。