Frage

Ich lese "Beziehungen zwischen Rubygems, Bundler und RVM", bevor du es noch einmal fragst.

Nun, es gibt viele Fragen dieser Art, aber die Leute, die geantwortet haben, sagen, dass sie mit Rubygems, RVM und Bundler arbeiten, und sie haben nicht erklärt, wie diese jeweils isoliert funktionieren.

Ich bin wirklich verwirrt darüber, wie die drei isoliert funktionieren, wenn wir Edelsteine ​​installieren.Bitte erzähl mir nicht, wie du arbeitest, das wird mir helfen, aber ich werde nicht erfahren, was passiert, wenn wir mit ihnen spielen.

Meine Verwirrung kann in diese Fragen unterteilt werden.Wo wird ein Edelstein installiert, wenn:

  1. Ich habe nur Rubygems (ohne RVM oder Bundler)?
  2. Rubygems und RVM sind installiert?
  3. Rubygems, RVM und Bundler sind installiert?

Bitte helfen Sie mir, diese Sache zu verstehen, entweder mit Ressourcen im Internet oder durch Ihre detaillierten Antworten.

War es hilfreich?

Lösung

  1. Um herauszufinden, wo Gems installiert werden, führen Sie Folgendes aus: echo $GEM_HOME in einem Terminal.
  2. Wenn Sie RVM verwenden, werden Gems in Ihrer RVM-Installation installiert, wenn sich $GEM_HOME ändert.Läuft echo $GEM_HOME Jetzt würde ein Pfad zu Ihrer RVM-Installation angezeigt.
  3. Wenn Bundler zum Mix hinzugefügt wird, werden entweder Edelsteine ​​installiert $GEM_HOME, oder, wenn Sie beim Ausführen einen Pfad angeben bundle install wird in diesem Pfad installiert.Um herauszufinden, wo sich ein Edelstein befindet, können Sie Bundler verwenden bundle show gemname um seinen vollen Weg zu finden.

Andere Tipps

Verwenden gem env um die Edelsteinpfade in jedem Kontext aufzulisten.

Ohne RVM gem env meldet die System-Gem-Bibliothekspfade.

Mit RVM gem env meldet die von RVM verwalteten Gem-Bibliothekspfade.

Bundler verwaltet Anwendungsabhängigkeiten und installiert sie in der Gem-Bibliothek in Ihrer Umgebung.Wenn Sie RVM + Bundler verwenden, werden die Gems in den von RVM verwalteten Gem-Verzeichnissen installiert.Wenn Sie es ohne RVM verwenden, installiert Bundler Gems in den System-Gem-Verzeichnissen.

Um den Pfad zu finden, in dem ein Gem installiert ist, verwenden Sie:

gem which gem_name

Um ausführbare Dateien (wie html2haml) zu finden, verwenden Sie:

which executable_name

Um das Tippen zu vermeiden bundle exec html2haml Was vom Bundler-Team empfohlen wird, verwenden Sie my rubygems-bundler Juwel.

Ich versuche auch zu verstehen, wie es funktioniert.Der Blog "Ratschläge zur Verwendung von Ruby, RVM, Passenger, Rails, Bundler, … in der Entwicklung„hat mir geholfen, einen besseren Überblick zu bekommen.

Übrigens ist es eine Übersetzung eines französischen Artikels, die französische Version ist besser.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top