Just do IT

思うは招く

rails c すると warning: already initialized constant FileUtils::VERSION が出るときの対処

環境

問題

rails crails sをすると、次のような警告が出る。

/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils/version.rb:4: warning: already initialized constant FileUtils::VERSION
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils/version.rb:4: warning: previous definition of VERSION was here
/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils.rb:1267: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils.rb:1285: warning: previous definition of S_IF_DOOR was here
/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils.rb:1540: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils.rb:1568: warning: previous definition of DIRECTORY_TERM was here
/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils.rb:1595: warning: already initialized constant FileUtils::OPT_TABLE
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils.rb:1626: warning: previous definition of OPT_TABLE was here
/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils.rb:1649: warning: already initialized constant FileUtils::LOW_METHODS
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils.rb:1685: warning: previous definition of LOW_METHODS was here
/Users/username/.rbenv/versions/2.6.5/lib/ruby/2.6.0/fileutils.rb:1656: warning: already initialized constant FileUtils::METHODS
/Users/username/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fileutils-1.3.0/lib/fileutils.rb:1692: warning: previous definition of METHODS was here

原因

gemでインストールしたfileutilsが読み込まれているのにも関わらず、railsでも読み込んでしまっている。

解決

gem uninstall fileutils
gem update --default

gemのfileutilsをアンインストールし、gemをupdateする。