Jemand bitte helfen Sie mir zu verstehen, wie eine Ruby-App verwaltet sowohl die Gemfile und die RVM Gemsets für eine App. Wenn ich gerade ein Gemset mit einer Menge installierter Edelsteine benutze und ich auch Edelsteine in meiner Edelsteindatei habe, verwendet die Ruby App die Edelsteine aus der Edelsteindatei oder aus dem Edelsteinsatz für die App?RVM Gemsets und Ruby Gemfile Verwirrung
Antwort
Um dies zu verstehen, müssen Sie zurücktreten und verstehen, wie Ruby Gems im Allgemeinen arbeiten.
Beginnen wir mit einem System, das keine Rvm oder eine Gemfile hat.
Wenn Sie ein Juwel über "Gem Install" installieren, wird es in den System-Edelstein-Speicherort übernommen.
Immer wenn du ein Ruby-Skript schreibst und das Juwel benötigst, wird es von dort abgeholt.
Jetzt nehmen Sie an, Sie müssen verschiedene Version eines Edelsteins für verschiedene Projekte verwenden. Hier kommt Bundler ins Spiel. Du erstellst ein Gemfile und wenn du "bundle install" installierst, werden die Edelsteine, die in der Gemfile aufgelistet sind, in den Kontext des Projekts eingefügt. Sie müssen "bundle install" ausführen, um sie einzubinden, und danach "bundle exec ruby", um mit der gem-Version zu arbeiten. Sie können mehrere Edelstein-Versionen haben und eine auswählen, die Sie verwenden möchten. Wenn Sie nicht durch Bundler gehen, werden Sie verwenden, was im System vorhanden ist.
Rvm jetzt. Angenommen, Sie möchten die "System" - und Ruby-Versionen in einer organisierten Weise ändern. Dies ist im Grunde, was ein RMV-Edelstein ist. Durch die Magie der Indirection über Pfade können Sie Edelsteine für verschiedene Edelstein-Sets installieren und so tun, als wären sie System-Edelsteine.
Also Gemsets und Gemfiles sind orthogonal aufeinander. Wenn Sie eine Edelstein-Datei verwenden, werden die Edelsteine in dem Edelstein-Set installiert, aber das ist normalerweise nicht wichtig, wenn Sie einen Bundler verwenden.
Normalerweise möchten Sie die Gemfile verwenden.
- 1. RVM .ruby-gemset-Datei wechselt nicht zu Gemsets
- 2. Bundler vs RVM vs Gems vs RubyGems vs Gemsets vs System Ruby
- 3. Probleme mit RVM und OpenSSL
- 4. Warum bleibt RVM auf "#importing default gemsets, das kann einige Zeit dauern"?
- 5. RVM und Jenkins Setup
- 6. Ruby/SASS/RVM
- 7. Erstelle .ruby-Version und .ruby-gemset mit rvm
- 8. Ruby Metaklasse Verwirrung
- 9. Wie Standard-Ruby mit Rvm
- 10. Warum installiert rvm Ruby nicht?
- 11. RVM Ruby on Rails Installation
- 12. Ruby sort_by Verwirrung
- 13. Wie load source ~/.rvm/scripts/rvm auf jeder Shell loswerden?
- 14. "rvm ruby-1.9.3" dauerhaft einstellen?
- 15. Wo ist die "Gemfile" in Ruby?
- 16. Fehler bei der Installation von Ruby 2.1.3 mit RVM
- 17. Ruby Bundler mehrere Quellen in Gemfile
- 18. Ruby-net-ping Nutzung Verwirrung
- 19. Rvm Symlink zu Edelsteine für Standard-Ruby
- 20. Entfernen von alten Rvm-Ruby-Version-Dateien
- 21. Überwachung Ruby-Skript, mit Monit - inklusive RVM
- 22. rvm ermitteln und installieren neueste Version von Ruby
- 23. Wie Upgrade Rvm und Ruby-Version in einem Produktionsserver
- 24. Installieren von Ruby 2.0.0 RVM mit
- 25. Wie aktualisiere ich Ruby-Interpreter mit RVM?
- 26. wechseln zu Ruby-Version über RVM installiert
- 27. Wie kann ich Ruby, Rails, Rvm, Gems komplett deinstallieren?
- 28. Gem von RVM Gemset entfernen?
- 29. Ist es eine schlechte Praxis Ruby Version in Gemfile und .ruby-Version Dotfile aufzulisten?
- 30. Ruby Installationsprobleme
Das hilft viel. Vielen Dank! –