2013-08-05 26 views
5

Bazı testler yazmak istediğim küçük bir Rails 4.0.0/Ruby 2.0.0-p247 uygulamasına sahibim. boşuna vbSalatalık tırmık görevi başarısız olursa, JSON ayrıştırıcısını sorumlu tutuyor

/Users/me/.rvm/rubies/ruby-2.0.0-p247/bin/ruby -S bundle exec cucumber --profile default 
/Users/me/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/json/common.rb:155:in `parse': uninitialized constant JSON::Parser (NameError) 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapters/json_common.rb:16:in `load' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json/adapter.rb:19:in `load' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/multi_json-1.7.8/lib/multi_json.rb:118:in `load' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin/i18n.rb:14:in `<class:I18n>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin/i18n.rb:6:in `<module:Gherkin>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin/i18n.rb:5:in `<top (required)>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin/lexer/i18n_lexer.rb:2:in `require' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin/lexer/i18n_lexer.rb:2:in `<top (required)>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin.rb:1:in `require' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/gherkin-2.12.0/lib/gherkin.rb:1:in `<top (required)>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/cucumber-1.3.5/lib/cucumber/cli/main.rb:2:in `require' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/cucumber-1.3.5/lib/cucumber/cli/main.rb:2:in `<top (required)>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/cucumber-1.3.5/bin/cucumber:11:in `require' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/gems/cucumber-1.3.5/bin/cucumber:11:in `<top (required)>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/bin/cucumber:23:in `load' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/bin/cucumber:23:in `<main>' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval' 
from /Users/me/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>' 

Ben koşuyoruz paket yüklemek, paket güncelleme, mücevher temizleme,: Ben

rake cucumber:all 

çalıştırdığınızda aşağıdaki hatayı alıyorum. Aynı Rails uygulaması farklı bir makinede iyi çalışır (Mac OS X 10.8.4), ancak benim (Mac OS X 10.8.2) çalışmıyor. Herhangi bir fikir?

+0

Gemfile'in içeriği nedir? –

cevap

4

Ben tam sahip taze bir gemset

rvm get stable 

RVM

güncellenmesi ve/veya yapmayı deneyin Ayrıca

bundled_cucumber diğer adı edilmelidir

which cucumber 

deneyin sam e hata. nedeni burada: onlar bir hata düzeltmesi olduğundan, yapmanız gereken tek şey Gemfile.lock DEĞİŞTİREMEYECEĞİNİZİ Lütfen --edited 1.7.9

güncelleme multi_json

https://github.com/intridea/multi_json/issues/131

olup, yorumları kontrol detay için

+0

Bunu yapacaktır, ancak lütfen Gemfile.lock'unuzu elle güncellemeyin. Bunun yerine, "$ bundle update multi_json" komutunu çalıştırın. –

+0

İyi bir nokta, "birleştirme güncelleştirmesi" kullanarak bir gemiyi güncelleştirdiğinizde, paketleyici, aynı zamanda, diğer bir geminin bağımlılıkları da dahil olmak üzere, o geminin tüm bağımlılıklarını güncelleyecektir. Ne olursa, multi_json-1.7.9 sorunu çözdüyse, multi_json-1.7.10 bu hatayı tekrar ediyor mu? – Race

+1

Bu durumda, Gemfile 'gem' multi_json ',' 1.7.9 '' ve 'bundle update multi_json' komutunu tekrar çalıştırabilirsiniz. –

0

Sorunun kaynağının JSON :: Ayrıştırıcısından olmadığına inanıyorum. 'Ruby_noexec_wrapper' hatası bir RVM sorunu olabileceğini düşündürüyor olabilir.

o

rvm gemset empty