Szybka pomoc

Ściąga z menedżera zależności Ruby Bundler

Krótki przewodnik po Bundlerze w Ruby: bundle install, aktualizacja gemów, składnia Gemfile, tryby wdrażania i rozwój lokalny.

· Opublikowano

Bundler Bundler zarządza zależnościami aplikacji w całym cyklu jej życia w projektach języka Ruby.

Typowe polecenia CLI

bundle install          # Instalacja wszystkich wymaganych gemów
bundle install -j4      # Równoległa instalacja przy użyciu 4 wątków
bundle update           # Aktualizacja wszystkich gemów do najnowszych pasujących wersji
bundle update rails     # Aktualizacja tylko wybranego gema
bundle outdated         # Wykrywanie nieaktualnych gemów

bundle exec <command>   # Uruchamianie polecenia w kontekście bundla
bundle show <gemname>   # Wyświetlanie katalogu instalacji gema
bundle info <gemname>   # Wyświetlanie metadanych gema
bundle gem <my_gem>     # Generowanie szkieletu nowego gema

Składnia pliku Gemfile

Podstawowe deklaracje

source 'https://rubygems.org'

gem 'rails', '~> 7.1.0'
gem 'pg', '>= 1.5'
gem 'puma'

Odwołania Git i GitHub

# Bezpośrednie repozytorium GitHub
gem 'devise', github: 'heartcombo/devise'

# Konkretna gałąź lub tag Git
gem 'devise', github: 'heartcombo/devise', branch: 'main'
gem 'nokogiri', git: 'https://github.com/sparklemotion/nokogiri.git', tag: 'v1.16.0'

Grupy zależności

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

group :production do
  gem 'aws-sdk-s3'
end

Wdrażanie na produkcji

W potokach CI/CD i na serwerach produkcyjnych instaluj z flagą deployment, aby zapobiec modyfikacji Gemfile.lock:

# Nowoczesne wdrażanie Bundlera
bundle config set --local deployment 'true'
bundle config set --local without 'development test'
bundle install

Lokalne nadpisywanie gemów

Wskazanie lokalnego katalogu gema na potrzeby aktywnego rozwoju:

bundle config local.my_gem ~/Developer/Projects/my_gem

Powiązane tematy