Je rencontre actuellement un problème avec ma nouvelle application rails, plus précisément :
- Rails 5.2.0
- Ruby 2.5.1p57 (2018-03-29 révision 63029) [x86_64-darwin17]
- rvm 1.29.4 (latest) par Michal Papis, Piotr Kuczynski, Wayne E. Seguin [ [https://rvm.io\]](https://rvm.io])
Quand je cours rails c
il produit un lien d'avertissement vers fileutils gem comme suit :
`/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:90:` `warning:` `already` initialized constant FileUtils::VERSION
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:92: warning: previous definition of VERSION was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1188: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1267: warning: previous definition of S_IF_DOOR was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1446: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1541: warning: previous definition of DIRECTORY_TERM was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1448: warning: already initialized constant FileUtils::Entry_::SYSCASE
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1543: warning: previous definition of SYSCASE was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1501: warning: already initialized constant FileUtils::OPT_TABLE
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1596: warning: previous definition of OPT_TABLE was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1555: warning: already initialized constant FileUtils::LOW_METHODS
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1650: warning: previous definition of LOW_METHODS was here
/usr/local/Cellar/ruby/2.5.1/lib/ruby/2.5.0/fileutils.rb:1562: warning: already initialized constant FileUtils::METHODS
/usr/local/lib/ruby/gems/2.5.0/gems/fileutils-1.1.0/lib/fileutils.rb:1657: warning: previous definition of METHODS was here
Je respecte toutes les étapes décrites dans ces lignes directrices. http://railsapps.github.io/installrubyonrails-mac.html
.
Vous pouvez reproduire le problème en suivant simplement la ligne directrice ou les étapes suivantes :
- rvm install ruby-2.5.1
- rails nouvelle application
- cd app
- mise à jour des pierres précieuses
- mise à jour du forfait
Après avoir observé et travaillé, j'ai découvert que la version par défaut de fileutils fournie avec Ruby 2.5.* est la 1.0.2 et que le fichier gem update
installe une autre version plus récente, la 1.1.0. Par conséquent, il existe deux versions de fileutils
sont chargés lorsque j'exécute le rails c
.
Pour résoudre ce problème, j'ajoute --default
à l'option gem update
commandement.
gem update --default
En conséquence, j'ai obtenu deux versions par défaut qui peuvent être vues en exécutant gem list | grep fileutils
. C'est le seul moyen pour moi de me débarrasser de l'avertissement.
mac: gem list | grep fileutils
fileutils (default: 1.1.0, default: 1.0.2)
J'écris cette question avec, en quelque sorte, une réponse, juste pour la partager avec quelqu'un qui pourrait rencontrer le même problème. J'ai passé des heures à résoudre ce problème car je n'ai trouvé aucune aide sur Internet.
Note rbenv
au lieu de rvm
sur macOS Sierra.
Veuillez me faire savoir si quelqu'un a une meilleure approche pour traiter un tel problème.
A la vôtre,