2017-01-14 59 views
6

Właśnie ustawiłem menadżę Linux Mint do programowania szyn z rvm. I poszedł do przodu i wygenerowała Szyny 5 aplikację, skonfigurować połączenie mysql, dodał cucumber-rails gem a następnie próbował uruchomić:Dlaczego otrzymuję komunikat "warning: already initialized constant JSON :: VERSION" podczas uruchamiania ogórka prowizorycznego?

rake cucumber 

z jakiegoś powodu, ja spotkałem się z:

/usr/bin/ruby2.3 -S bundle exec cucumber --profile default 
/usr/lib/ruby/vendor_ruby/json/version.rb:3: warning: already initialized constant JSON::VERSION 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/version.rb:3: warning: previous definition of VERSION was here 
/usr/lib/ruby/vendor_ruby/json/version.rb:4: warning: already initialized constant JSON::VERSION_ARRAY 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/version.rb:4: warning: previous definition of VERSION_ARRAY was here 
/usr/lib/ruby/vendor_ruby/json/version.rb:5: warning: already initialized constant JSON::VERSION_MAJOR 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/version.rb:5: warning: previous definition of VERSION_MAJOR was here 
/usr/lib/ruby/vendor_ruby/json/version.rb:6: warning: already initialized constant JSON::VERSION_MINOR 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/version.rb:6: warning: previous definition of VERSION_MINOR was here 
/usr/lib/ruby/vendor_ruby/json/version.rb:7: warning: already initialized constant JSON::VERSION_BUILD 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/version.rb:7: warning: previous definition of VERSION_BUILD was here 
/usr/lib/ruby/vendor_ruby/json/common.rb:99: warning: already initialized constant JSON::NaN 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/common.rb:99: warning: previous definition of NaN was here 
/usr/lib/ruby/vendor_ruby/json/common.rb:101: warning: already initialized constant JSON::Infinity 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/common.rb:101: warning: previous definition of Infinity was here 
/usr/lib/ruby/vendor_ruby/json/common.rb:103: warning: already initialized constant JSON::MinusInfinity 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/common.rb:103: warning: previous definition of MinusInfinity was here 
/usr/lib/ruby/vendor_ruby/json/common.rb:128: warning: already initialized constant JSON::UnparserError 
/var/lib/gems/2.3.0/gems/json-1.8.5/lib/json/common.rb:128: warning: previous definition of UnparserError was here 

Jest , według mojej wiedzy, dość prosta instalacja waniliowa, więc nie mogę zrozumieć, co zrobiłem, aby zdobyć te ostrzeżenia. Czy w jakiś sposób mam w konflikcie klejnoty? Jeśli tak, w jaki sposób mogę rozwiązać ten problem?

+0

Sądząc śladu używanego zainstalowany globalnie Ruby. Czy używałeś rvm do zainstalowania go na całym świecie? –

+0

@IvanKolmychek, mam zainstalowany pakiet ruby, a następnie zainstalowałem rvm. Ruby jest dostępna na całym świecie, tak. Czy odpowiadam na twoje pytanie? –

+0

Dostaję również ten problem, ale nie mam rozwiązania. Wątpliwości, że globalnie zainstalowana Ruby może być problemem - używam rbenv. – ttrmw

Odpowiedz

2

Klejnot json, który pojawił się w Twojej wersji Ruby, jest nieco przestarzały. Jeśli chcesz pozbyć się tych ostrzeżeń, trzeba to bardziej aktualne wersji go w Gemfile:

gem 'json', '>= 2.0.0'

Następnie uruchom bundle install.

14

udało mi się pozbyć ostrzeżeń JSON przez:

bundle clean --force 
bundle