Every time i'm working when i try to launch any gem like mailcatcher, start my server or run the command rails c i see this error message and i don't know why it's look like some kind of error version un ruby.
/home/santiago/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:66: warning: already initialized constant Net::ProtocRetryError
/home/santiago/.rvm/gems/ruby-2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:68: warning: previous definition of ProtocRetryError was here
/home/santiago/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:206: warning: already initialized constant Net::BufferedIO::BUFSIZE
/home/santiago/.rvm/gems/ruby-2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:214: warning: previous definition of BUFSIZE was here
/home/santiago/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:503: warning: already initialized constant Net::NetPrivate::Socket
/home/santiago/.rvm/gems/ruby-2.7.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:541: warning: previous definition of Socket was here
I'm using this ruby version: ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Rails version: Rails 6.0.4.7.
And I installed ruby with rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io].
I tried to update net-protocol gem, change the ruby version to another version of 2.7.0 but didn't work.
i want to know why is this happening and solve it to not see these kind of message anymore.
Some (maybe all, I am not sure) of the Net::* classes were moved from the stdlib to gems (they were gemified) around Ruby 3.0. Since then, for Ruby versions previous to 3.0, gems that depend on the Net::* classes (such as faraday) may be loading the same class twice. Once from the stdlib and once from the gem.
Solution 1 upgrade to ruby 3.X (I can't apply this solution). Solution 2 explícity add net-http to your gemfile, works for not see the message.