Bundler Το Bundler διαχειρίζεται τις εξαρτήσεις μιας εφαρμογής καθ' όλη τη διάρκεια του κύκλου ζωής της για έργα Ruby.
Συνήθεις εντολές CLI
bundle install # Εγκατάσταση όλων των απαιτούμενων gems
bundle install -j4 # Παράλληλη εγκατάσταση με 4 workers
bundle update # Ενημέρωση όλων των gems στις νεότερες συμβατές εκδόσεις
bundle update rails # Ενημέρωση μόνο συγκεκριμένου gem
bundle outdated # Έλεγχος παρωχημένων gems
bundle exec <command> # Εκτέλεση εντολής στο πλαίσιο του bundle
bundle show <gemname> # Προβολή καταλόγου εγκατάστασης του gem
bundle info <gemname> # Προβολή μεταδεδομένων gem
bundle gem <my_gem> # Δημιουργία σκελετού νέου gem
Σύνταξη Gemfile
Βασικές δηλώσεις
source 'https://rubygems.org'
gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'
Αναφορές Git & GitHub
# Απευθείας αποθετήριο GitHub
gem 'devise', github: 'heartcombo/devise'
# Συγκεκριμένο branch ή tag
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'
Ομάδες εξαρτήσεων
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
group :production do
gem 'aws-sdk-s3'
end
Ανάπτυξη στην παραγωγή (Production)
Σε CI/CD pipelines και servers, εκτελέστε με deployment flags ώστε να αποτραπεί η τροποποίηση του Gemfile.lock:
# Σύγχρονο Bundler deployment
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install
Τοπικές παρακάμψεις Gem
Κατεύθυνση ενός gem σε τοπικό κατάλογο για ενεργή ανάπτυξη:
bundle config local.my_gem ~/Developer/Projects/my_gem