Mit dem Bundler-Gem ist es seit Rails 3 einfach, seine Gems und deren Abhängigkeiten besser zu verwalten. Seit Januar 2011 wurde an der Version 1.1 gearbeitet, welche seit einigen Wochen nun als 1.1.0 stable Version verfügbar ist. Was ist neu? Was hat sich geändert?
Das wichtigste Feature ist bundle outdated
. Wie der Name schon sagt, werden mit diesem Befehl alle Gems aufgelistet, bei denen eine neuere Version verfügbar ist. Mit dem oben genannten Befehl wird lediglich der Gem-Name, die aktuell installierte und die aktuell verfügbare Version angezeigt:
Outdated gems included in the bundle: * sprockets (2.3.1 > 2.1.2)
Mit bundle outdated --pre
wird auch noch geprüft, ob Pre-Releases von den installierten Gems vorhanden sind.
Das nächste Feature ist der Befehl bundle clean
. Hierbei werden ungenutzte Gems im --path
Verzeichnis deinstalliert. Beim Ausführen kommt von Bundler folgende Warnung:
Can only use bundle clean when --path is set or --force is set
Diese Abfrage soll verhindern, dass alle deine Gems versehentlich deinstalliert werden.
Zu guter Letzt bundle install --standalone
. Erzeugt ein bundle, welches ohne Bundler oder Ruby Gems während der Laufzeit arbeitet. Hierfür wird ein Ordner bundle erstellt, wo das Bundle selbst zu finden ist. Zudem wird in bundle/bundler/setup.rb
das Bundler Setup ersetzt.
Das war jetzt mal das Wichtigste. Alle anderen Änderungen findet ihr hier. Zu den neuen Befehlen wurde auch die Geschwindigkeit des Bundlers verbessert. Der Grund dafür ist, dass Bundler bei der HTTP Anfrage an rubygems.org eine kurze Liste mit Gems und dessen Abhängigkeiten, anstatt die kompletten Informationen über jedes einzelne Gem zurückbekommt (via).