2017-01-14 17 views
6

Tôi vừa thiết lập một hộp Linux Mint cho phát triển đường ray với rvm. Tôi đã đi trước và tạo ra một ứng dụng Rails 5, thiết lập kết nối mysql, thêm cucumber-rails gem và sau đó cố gắng để chạy:Tại sao tôi nhận được "cảnh báo: đã được khởi tạo hằng số JSON :: VERSION" khi chạy cào dưa chuột?

rake cucumber 

Đối với một số lý do, tôi đã gặp:

/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 

Đây là , với kiến ​​thức của tôi, một cài đặt vani khá đơn giản, vì vậy tôi không thể hiểu những gì tôi đã làm để kiếm những cảnh báo này. Tôi bằng cách nào đó có đá quý xung đột tại chỗ? Nếu vậy, làm cách nào để giải quyết vấn đề này?

+0

Xét xử của các dấu vết bạn đang sử dụng ruby ​​được cài đặt trên toàn cầu. Bạn đã sử dụng rvm để cài đặt nó trên toàn cầu? –

+0

@IvanKolmychek, tôi đã cài đặt gói ruby ​​và sau đó tôi đã cài đặt rvm. Ruby có sẵn trên toàn cầu. Tôi có trả lời câu hỏi của bạn không? –

+0

Tôi cũng gặp vấn đề này, nhưng tôi không có giải pháp. Nghi ngờ rằng Ruby cài đặt trên toàn cầu có thể là một vấn đề - tôi đang sử dụng rbenv. – ttrmw

Trả lời

2

Đá quý json đi kèm với phiên bản Ruby của bạn hơi lỗi thời. Nếu bạn muốn thoát khỏi những cảnh báo này, bạn phải bao gồm hơn lên đến phiên bản cập nhật của nó trong Gemfile của bạn:

gem 'json', '>= 2.0.0'

Sau đó chạy bundle install.

14

tôi quản lý để thoát khỏi những lời cảnh báo JSON bởi:

bundle clean --force 
bundle 
Các vấn đề liên quan