黄瓜因json Encoding :: InvalidByteSequenceError而失败

Dan*_*hoe 9 json ruby-on-rails cucumber rvm ruby-on-rails-3

我正在使用rvm 1.15.6和ruby-1.9.3-p194.

我用以下宝石创建了一个新的Rails应用程序:

source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'sqlite3'
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem "rspec-rails", ">= 2.10.1", :group => [:development, :test]
gem "factory_girl_rails", ">= 3.3.0", :group => [:development, :test]
gem "cucumber-rails", ">= 1.3.0", :group => :test, :require => false
gem "capybara", ">= 1.1.2", :group => :test
gem "database_cleaner", ">= 0.7.2", :group => :test
Run Code Online (Sandbox Code Playgroud)

当我跑:

bundle exec cucumber
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

json-1.7.5/lib/json/common.rb:155:in `encode': "\xD8" on US-ASCII (Encoding::InvalidByteSequenceError)
Run Code Online (Sandbox Code Playgroud)

这是完整的痕迹:

/Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/json-1.7.5/lib/json/common.rb:155:in `encode': "\xD8" on US-ASCII (Encoding::InvalidByteSequenceError)
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/json-1.7.5/lib/json/common.rb:155:in `initialize'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/json-1.7.5/lib/json/common.rb:155:in `new'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/json-1.7.5/lib/json/common.rb:155:in `parse'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:14:in `<class:I18n>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:6:in `<module:Gherkin>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin/i18n.rb:5:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin/lexer/i18n_lexer.rb:1:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin/lexer/i18n_lexer.rb:1:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin.rb:1:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/gherkin-2.11.2/lib/gherkin.rb:1:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:2:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:2:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/cucumber-1.2.1/bin/cucumber:11:in `require'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/gems/cucumber-1.2.1/bin/cucumber:11:in `<top (required)>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/bin/cucumber:19:in `load'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/bin/cucumber:19:in `<main>'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/danielkehoe/.rvm/gems/ruby-1.9.3-p194@rails328/bin/ruby_noexec_wrapper:14:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我很神秘.任何疑难解答或建议?

编辑:这是没有创建任何Cucumber功能文件.如果我创建功能文件,我会得到同样的东西.

Ram*_*mzi 24

我有同样的问题,它看起来是因为你的shell的编码

看看这个页面https://github.com/cucumber/gherkin

Linux的

export LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

OS X.

export LC_CTYPE=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)