Bundler O Bundler gerencia as dependências de uma aplicação ao longo de todo o seu ciclo de vida em projetos Ruby.
Comandos comuns da CLI
bundle install # Instalar todas as gems necessárias
bundle install -j4 # Instalação paralela com 4 processos
bundle update # Atualizar todas as gems para as versões mais recentes compatíveis
bundle update rails # Atualizar apenas uma gem específica
bundle outdated # Verificar gems desatualizadas
bundle exec <command> # Executar comando no contexto do bundle
bundle show <gemname> # Exibir o diretório de instalação da gem
bundle info <gemname> # Exibir metadados da gem
bundle gem <my_gem> # Gerar esqueleto para uma nova gem
Sintaxe do Gemfile
Declarações básicas
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Referências Git e GitHub
# Repositório direto do GitHub
gem 'devise', github: 'heartcombo/devise'
# Branch ou tag específica do Git
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Grupos de dependências
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Implantação em produção
Em pipelines de CI/CD e servidores de produção, use o modo deployment para evitar alterações no Gemfile.lock:
# Configuração moderna de implantação do Bundler
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Sobrescrita local de gems
Apontar uma gem para um diretório local durante o desenvolvimento ativo:
bundle config local.my_gem ~/Developer/Projects/my_gem