gemとBundler
gemはRubyのライブラリ配布形式です。Bundlerは必要なgemとバージョンの組み合わせを管理します。
Gemfile→ bundle installGemfile.lock→同じ依存関係
Gemfileを作る
作業フォルダーで初期化し、必要なgemを記述します。
初期化COMMAND
bundle initGemfileRUBY
source "https://rubygems.org"
ruby ">= 3.3"
gem "rake"
group :test do
gem "minitest"
endバージョン条件は公式情報と互換性を確認して決めます。
インストールして実行する
コマンドCOMMAND
bundle install
bundle exec ruby app.rb
bundle exec ruby test/app_test.rbbundle execを付けると、Gemfile.lockで選ばれたgemを使えます。
テスト成功時の要点OUTPUT
2 runs, 2 assertions, 0 failures, 0 errors, 0 skipsプロジェクト構成
構成例TEXT
sample_app/
├── .ruby-version
├── Gemfile
├── Gemfile.lock
├── lib/sample_app.rb
└── test/sample_app_test.rbアプリケーションではGemfile.lockをGitへ含め、同じ依存バージョンを再現します。
安全に管理する
確認項目
- 正確なgem名、公開元、ライセンス、更新状況
- 不要なgemを追加していないか
bundle outdatedで更新候補を確認したか- 更新後に全テストが成功するか
- 秘密情報をコードへ書いていないか
確認COMMAND
bundle list
bundle outdatedBundlerは安全性を自動保証しません。脆弱性情報と更新内容を確認します。
ミニ課題:テスト付きプロジェクト
上の構成で計算メソッドとMinitestを作り、bundle exec ruby test/sample_app_test.rbを成功させてください。