Schienen 5.2.0 mit Ruby 2.5.1 Konsole - `Warnung:` ist schon `initialisiert Konstante FileUtils::VERSION
Ich bin derzeit ein Problem mit meinem neuen rails-Applikation, genauer gesagt:
- Schienen 5.2.0
- Ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
- rvm 1.29.4 (spätestens) von Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
Wenn ich rails c
, erzeugt es eine Warnung links zu fileutils-Juwel, wie die folgenden:
`/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
Ich befolgen Sie alle den Schritt, wie in dieser Leitlinie http://railsapps.github.io/installrubyonrails-mac.html
.
Können Sie replizieren Sie das Problem, indem Sie einfach die folgenden Richtlinie oder mit den folgenden Schritten:
- rvm install ruby-2.5.1
- Schienen neue app
- cd app
- gem update
- bundle-update
Nach der Beobachtung zu arbeiten, ich habe festgestellt, dass die Standard-version von fileutils kommen mit Ruby 2.5.* ist 1.0.2 und die gem update
Befehl installiert eine andere neuere version 1.1.0. Daher gibt es zwei Versionen von fileutils
geladen, wenn ich das rails c
.
Zum Umgang mit diesem Problem, ich Anhängen --default
option, um die gem update
Befehl.
gem update --default
Als Ergebnis bekam ich zwei Standard-Versionen, die gesehen werden können, durch ausführen gem list | grep fileutils
. Dies ist der einzige Weg, den ich loswerden der Warnung.
mac: gem list | grep fileutils
fileutils (default: 1.1.0, default: 1.0.2)
Schreibe ich diese Frage irgendwie beantworten nur zu teilen mit jemandem, der möglicherweise das gleiche Problem. Ich verbrachte Stunden, um es zu lösen, konnte ich nicht finden, hilft das internet.
Hinweis: das gleiche Problem passiert, wenn ich rbenv
statt rvm
auf macOS Sierra.
Bitte lassen Sie mich wissen, wenn jemand einen besseren Ansatz im Umgang mit diesem Thema.
Cheers,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche Problem. Der eine Schritt fehlt aus deinem Beitrag ist zu deinstallieren, die fileutils Edelstein zuerst, dann gem update mit der Standard-option.
Dass entledigte sich die ausführliche fileutils Nachrichten für mich.
Update: Statt gem update --default, tun gem update fileutils --default. Dieser Prozess sollte auch für andere Edelsteine auch. Dank Matijs van Zuijlen für diese.
gem update --default
ist keine so gute Idee, denn es dreht sich alles aktualisiert Edelsteine in Standard-Edelsteine. Stattdessen machen Siegem update fileutils --default
.