Bundler Bundler gère les dépendances d'une application tout au long de son cycle de vie pour les projets Ruby.
Commandes CLI courantes
bundle install # Installer toutes les dépendances requises
bundle install -j4 # Installation parallèle avec 4 workers
bundle update # Mettre à jour tous les gems vers les dernières versions correspondantes
bundle update rails # Mettre à jour un gem spécifique
bundle outdated # Auditer les gems obsolètes
bundle exec <command> # Exécuter une commande dans le contexte du bundle
bundle show <gemname> # Afficher le répertoire d'installation d'un gem
bundle info <gemname> # Afficher les métadonnées d'un gem
bundle gem <my_gem> # Générer la structure d'un nouveau gem
Syntaxe du Gemfile
Déclarations de base
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Références Git et GitHub
# Dépôt GitHub direct
gem 'devise', github: 'heartcombo/devise'
# Branche ou tag Git spécifique
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Groupes de dépendances
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Déploiement en production
Dans les pipelines CI/CD et sur les serveurs, installez avec le mode deployment pour éviter de modifier le Gemfile.lock :
# Déploiement Bundler moderne
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Remplacement local de gems
Pointer un gem vers un dossier local pour le développement actif :
bundle config local.my_gem ~/Developer/Projects/my_gem