Bundler Bundler gestionează dependențele unei aplicații pe parcursul întregului ciclu de viață pentru proiectele Ruby.
Comenzi CLI comune
bundle install # Instalează toate pachetele gem necesare
bundle install -j4 # Instalare paralelă folosind 4 procese
bundle update # Actualizează toate gem-urile la cele mai recente versiuni compatibile
bundle update rails # Actualizează doar un gem specific
bundle outdated # Verifică gem-urile învechite
bundle exec <command> # Rulează comanda în contextul pachetului bundle
bundle show <gemname> # Afișează directorul de instalare al gem-ului
bundle info <gemname> # Afișează metadatele gem-ului
bundle gem <my_gem> # Generează structura de bază a unui nou gem
Sintaxa fișierului Gemfile
Declarații de bază
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Referințe Git și GitHub
# Depozit direct de pe GitHub
gem 'devise', github: 'heartcombo/devise'
# Ramură sau etichetă Git specifică
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Grupuri de dependențe
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Implementare în producție
În fluxurile CI/CD și pe servere, instalați cu indicatorul de deployment pentru a preveni modificarea fișierului Gemfile.lock:
# Configurație modernă de implementare Bundler
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Suprascrierea locală a gem-urilor
Redirecționează un gem către un director local pentru dezvoltare activă:
bundle config local.my_gem ~/Developer/Projects/my_gem