Bundler Bundler verwaltet die Abhängigkeiten einer Anwendung über deren gesamten Lebenszyklus für Ruby-Projekte.
Häufige CLI-Befehle
bundle install # Alle erforderlichen Gems installieren
bundle install -j4 # Parallele Installation mit 4 Workern
bundle update # Alle Gems auf die neuesten passenden Versionen aktualisieren
bundle update rails # Nur ein bestimmtes Gem aktualisieren
bundle outdated # Veraltete Gems überprüfen
bundle exec <command> # Befehl im Kontext des Bundles ausführen
bundle show <gemname> # Installationsverzeichnis eines Gems anzeigen
bundle info <gemname> # Gem-Metadaten anzeigen
bundle gem <my_gem> # Neues Gem-Gerüst erstellen
Gemfile-Syntax
Grundlegende Deklarationen
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Git- & GitHub-Referenzen
# Direktes GitHub-Repository
gem 'devise', github: 'heartcombo/devise'
# Bestimmter Git-Branch oder Tag
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Abhängigkeitsgruppen
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Produktions-Deployment
In CI/CD-Pipelines und auf Servern sollte mit Deployment-Flags installiert werden, um Änderungen an Gemfile.lock zu verhindern:
# Modernes Bundler-Deployment
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Lokale Gem-Überschreibungen
Ein Gem für die aktive Entwicklung auf ein lokales Verzeichnis verweisen lassen:
bundle config local.my_gem ~/Developer/Projects/my_gem