Bundler Bundler beheert de afhankelijkheden van een applicatie gedurende de hele levenscyclus voor Ruby-projecten.
Veelvoorkomende CLI-commando's
bundle install # Installeer alle vereiste gems
bundle install -j4 # Parallelle installatie met 4 workers
bundle update # Werk alle gems bij naar de nieuwste compatibele versies
bundle update rails # Werk alleen een specifieke gem bij
bundle outdated # Controleer op verouderde gems
bundle exec <command> # Voer commando uit in de context van de bundle
bundle show <gemname> # Toon de installatiemap van een gem
bundle info <gemname> # Toon metadata van de gem
bundle gem <my_gem> # Genereer een nieuw gem-skelet
Gemfile-syntaxis
Basisdeclaraties
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Git- & GitHub-referenties
# Directe GitHub-repository
gem 'devise', github: 'heartcombo/devise'
# Specifieke git-branch of tag
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Afhankelijkheidsgroepen
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Productie-deployment
Installeer in CI/CD-pipelines en op servers met deployment-flags om wijzigingen in Gemfile.lock te voorkomen:
# Modern Bundler-deployment
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Lokale Gem-overschrijvingen
Verwijs een gem naar een lokale map voor actieve ontwikkeling:
bundle config local.my_gem ~/Developer/Projects/my_gem