はじめに
新しくアプリケーションを立ち上げて
rails db:create
を実行したときにでたエラーを解決したため、忘れないうちに記録したいと思い投稿します。
どんなエラーが出たのか
rails _6.0.0_ new xxx -d mysql
rails db:create
そうすると、以下のようなエラーが出ました。
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/2.6.0/net/protocol.rb:66: warning: already initialized constant Net::ProtocRetryError
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:68: warning: previous definition of ProtocRetryError was here
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/2.6.0/net/protocol.rb:206: warning: already initialized constant Net::BufferedIO::BUFSIZE
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:214: warning: previous definition of BUFSIZE was here
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/2.6.0/net/protocol.rb:503: warning: already initialized constant Net::NetPrivate::Socket
/Users/admin/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/net-protocol-0.2.1/lib/net/protocol.rb:541: warning: previous definition of Socket was here
Created database 'xxx_development'
Created database 'xxx_test'
自分にとってこのエラーは初めて見た文章でした。
-
already initialized constant Net::ProtocRetryError
→すでに初期化されている定数 Net::ProtocRetryError -
warning: previous definition of ProtocRetryError was her
→ 警告: ProtocRetryError の以前の定義は彼女のものでした -
warning: already initialized constant Net::BufferedIO::BUFSIZE
→ 警告: BUFSIZE の以前の定義はここにありました -
lready initialized constant Net::NetPrivate::Socket
→既に初期化された定数 Net::NetPrivate::Socket -
warning: previous definition of Socket was here
→警告: Socket の以前の定義はここにありました
Google翻訳で訳してもらいましたが、あまりピンと来ない、、。
そこで、同じようなエラーを解決した記事を見つけたので、そちらを参考に解決までの手順を書いて行きます。
実行したこと
Gemfileに以下を追記しました。
gem 'net-http'
その後、サーバーを再起動(rails s)すると、これまで出てきていたエラーが表示されなくなり、無事に解決しました。
参考文献
ありがとうございました。