Je rencontre actuellement un problème avec ma nouvelle application Rails, plus précisément:
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 suis toutes les étapes décrites dans cette directive http://railsapps.github.io/installrubyonrails-mac.html
.
Vous pouvez reproduire le problème en suivant simplement les instructions ou en procédant comme suit:
Après avoir observé et travaillé, j’ai trouvé que la version par défaut de fileutils est livrée avec Ruby 2.5. * Est 1.0.2 et le gem update
_ commande installe une autre version plus récente 1.1.0. Par conséquent, il y a deux versions de fileutils
qui sont chargées lorsque je lance le Rails c
.
Pour résoudre ce problème, j’ajoute --default
option à la gem update
commande.
gem update --default
En conséquence, j’ai eu deux versions par défaut qui peuvent être vues en exécutant gem list | grep fileutils
. C’est le seul moyen de me débarrasser de cet avertissement.
mac: gem list | grep fileutils
fileutils (default: 1.1.0, default: 1.0.2)
J'écris cette question avec, genre de, répondez juste pour partager avec quelqu'un qui peut rencontrer le même problème. J'ai passé des heures à régler ce problème car je ne trouvais aucune aide sur Internet.
Remarque: le même problème se produit lorsque j'utilise rbenv
au lieu de rvm
. sur macOS Sierra.
S'il vous plaît laissez-moi savoir si quelqu'un a une meilleure approche pour traiter un tel problème.
À votre santé,
J'ai eu le même problème. La première étape qui manque à votre publication consiste à désinstaller d’abord le gem fileutils, puis à le mettre à jour avec l’option par défaut.
gem uninstall fileutils
Successfully uninstalled fileutils-1.1.0
gem update --default
Updating installed gems
Updating fileutils
Fetching: fileutils-1.1.0.gem (100%)
Successfully installed fileutils-1.1.0
Cela m'a débarrassé des messages verbeux de Fileutils.
Mise à jour: Au lieu de gem update --default, faites gem update fileutils --default. Ce processus devrait également fonctionner pour d'autres joyaux. Merci à Matijs van Zuijlen pour cela.