/ / rake cucumberを実行すると、なぜ「warning:既に初期化された定数JSON :: VERSION」と表示されるのですか? - ルビーオンレール、ルビー、キュウリ、ルビーオンレール-5

rake cucumberを実行しているときに "警告:既に初期化された定数JSON :: VERSION"が表示されるのはなぜですか? - ルビー・オン・レール、ルビー、キュウリ、ルビー・オン・レール-5

私は "rvmでrailsを開発するためのLinux Mintボックスをセットアップしたところです。私は先に進み、Rails 5アプリケーションを生成し、mysql接続をセットアップし、 きゅうりレール宝石 それから実行しようとしました:

rake cucumber

どういうわけか、私は次のことに遭遇しました。

/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

これは私の知る限りではかなり単純なインストールであるため、これらの警告を得るために行ったことが理解できません。矛盾する宝石が適切に配置されていますか。

回答:

回答№1は18

私はJSONの警告を取り除くことができた:

bundle clean --force
bundle

回答№2の場合は3

あなたのバージョンのRubyに付属のjson gemは少し古くなっています。これらの警告を取り除きたいのなら、Gemfileにもっと最新のものを含める必要があります。

gem "json", ">= 2.0.0"

その後、 bundle install.