Bundler Bundler gestiona las dependencias de una aplicación a lo largo de todo su ciclo de vida en proyectos de Ruby.
Comandos comunes de la CLI
bundle install # Instalar todas las gemas requeridas
bundle install -j4 # Instalación en paralelo con 4 procesos
bundle update # Actualizar todas las gemas a las versiones compatibles más recientes
bundle update rails # Actualizar únicamente una gema específica
bundle outdated # Auditar gemas desactualizadas
bundle exec <command> # Ejecutar comando en el contexto del bundle
bundle show <gemname> # Mostrar directorio de instalación de la gema
bundle info <gemname> # Mostrar metadatos de la gema
bundle gem <my_gem> # Crear estructura de una nueva gema
Sintaxis de Gemfile
Declaraciones básicas
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Referencias a Git y GitHub
# Repositorio directo de GitHub
gem 'devise', github: 'heartcombo/devise'
# Rama o etiqueta de Git específica
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Grupos de dependencias
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Despliegue en producción
En entornos CI/CD y servidores, instale con modo deployment para evitar modificaciones accidentales en Gemfile.lock:
# Despliegue moderno con Bundler
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Sobrescritura local de gemas
Apuntar una gema a un directorio local para desarrollo activo:
bundle config local.my_gem ~/Developer/Projects/my_gem