2010-06-17 7 views
13

Ich bin ziemlich neu bei Ruby/Rails, aber ich habe Bundler angeschaut und mich gefragt, wie es genau funktioniert. Installierst du einen vollständigen Satz von Edelsteinen wie normal gem install XYZ und dann die Gemfile, um eine bestimmte Teilmenge dieser Edelsteine ​​für die Verwendung mit einer bestimmten Anwendung zu ziehen? Oder installierst du Edelsteine ​​normalerweise nicht mehr und nimmst sie einfach in die Gemfile ein und machst dann eine bundle install, um sie alle in ein Bündel aufzunehmen, das dann mit deiner Anwendung verwendet wird?Wie funktioniert Bündler (allgemein)?

Vielen Dank dafür, dass Sie sich die Zeit genommen haben, dies zu beantworten. Ich bin nur ein wenig verwirrt darüber, was Bundlers Funktionalität genau ist.

- MAP

+0

Check-out http://gembundler.com/, wenn Sie nicht bereits haben. es ist die offizielle Bundler-Site. – x1a4

Antwort

3

als Paket-Management-Tool Denken Sie an Bündler.

Von bundle help Befehl:

bundle install # die aktuelle Umgebung auf das System installieren

bundle package # Schlösser und dann speichert alle Edelsteine ​​in Verkäufer/Cache

So bundle install Befehl werden alle Edelsteine ​​installieren zum System, die in Gemfile sowie ihre Abhängigkeiten aufgeführt sind. Wenn der Edelstein nicht vorher installiert wurde, wird er vom Gemmetter Repo gegriffen. bundle package speichert die .gem-Dateien in Ihrem apps Vendor/Cache-Verzeichnis.

Keine Notwendigkeit, gem install zuerst auszuführen.

+0

Ich weiß, wir sollten keine Follow-Ups auf Stackoverflow (laut FAQ) fragen, aber ich habe eine erweiterte Frage dazu. Ich versuche wirklich, mehrere Rails und Ruby-Versionen auf einer Maschine zu verwalten. Also würde ich RVMs Gemsets dafür verwenden und Bundler dann als Teil jedes RVM-Gemsets verwenden, das ich erstelle, um Gemsets und damit Rails-Versionen zu wechseln? – MAP

+0

Ich bin mir immer noch nicht sicher, wie es funktioniert - wie stellt es sicher, dass Sie die richtige Version eines Edelsteins ausführen, zum Beispiel wenn es mehr als einen gibt? – Toybuilder

+0

@Toybuilder Sie geben Ihre Gem-Abhängigkeiten in einer Gemdatei an. Bundler löst das gesamte Gem-Abhängigkeitsdiagramm vollständig auf und friert es im Gemfile.lock Ihrer App ein. Sie können das Diagramm tatsächlich mit 'bundle viz' anzeigen. –