RubyGems là package manager của Ruby — mỗi thư viện đóng gói thành một gem. CLI: gem install <name>.
Bundler quản lý dependency của project: lock phiên bản cụ thể vào Gemfile.lock, đảm bảo mọi môi trường (dev/staging/prod) dùng đúng version.
# Gemfile
source "https://rubygems.org"
ruby "3.3.0"
gem "sinatra", "~> 3.1" # ~> 3.1 = >= 3.1, < 4.0
gem "pg", ">= 1.5"
group :development, :test do
gem "rspec"
gem "rubocop"
endbundle install cài gems và tạo/cập nhật Gemfile.lock. Commit Gemfile.lock vào git cho app; với gem/library thì thêm vào .gitignore.
RubyGems is Ruby's package manager — each library is packaged as a gem. CLI: gem install <name>.
Bundler manages project dependencies: it locks specific versions into Gemfile.lock, ensuring every environment (dev/staging/prod) uses exactly the same versions.
# Gemfile
source "https://rubygems.org"
ruby "3.3.0"
gem "sinatra", "~> 3.1" # ~> 3.1 = >= 3.1, < 4.0
gem "pg", ">= 1.5"
group :development, :test do
gem "rspec"
gem "rubocop"
endbundle install installs gems and creates/updates Gemfile.lock. Commit Gemfile.lock for applications; add it to .gitignore for gems/libraries.