Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Afresh Bundler extra lesson
Search
wtnabe
October 17, 2015
Programming
0
290
Afresh Bundler extra lesson
「今さらBundler補講」Kanazawa.rb meetup #38
wtnabe
October 17, 2015
Tweet
Share
More Decks by wtnabe
See All by wtnabe
Ruby de Railway Oriented Programming
wtnabe
0
40
Bindanのススメ
wtnabe
0
30
そのオブジェクト、何を保証してくれますか? - GuideRailのススメ -
wtnabe
0
41
Effective Jekyll
wtnabe
0
71
5 min Jekyll/Liquid Plugin cooking
wtnabe
0
37
Ruby de Wasm
wtnabe
0
64
Cloud Native Buildpacksって結局どうなの?
wtnabe
0
53
Decoupled System with Turbo Frame
wtnabe
1
140
join-kanazawarb-or-7years-passed-since-it-was-borned
wtnabe
0
810
Other Decks in Programming
See All in Programming
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
340
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
190
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
140
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
2k
connect-python: convenient protobuf RPC for Python
anuraaga
0
370
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
ゲームの物理 剛体編
fadis
0
310
sbt 2
xuwei_k
0
240
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.1k
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
110
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
250
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Featured
See All Featured
Side Projects
sachag
455
43k
Six Lessons from altMBA
skipperchong
29
4.1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Code Review Best Practice
trishagee
74
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Scaling GitHub
holman
464
140k
Why Our Code Smells
bkeepers
PRO
340
57k
Writing Fast Ruby
sferik
630
62k
Transcript
今さらBundler補講 @wtnabe Kanazawa.rb meetup #38 2015-10-17 (Sat) at DMM.com Labo
Kanazawa div.
いきなりまとめ 利⽤するgemは Gemfile に記述 gemの依存関係を解決し、必要なgemを まとめてインストールできる プロジェクト配下にgemをインストー ルし、その影響をプロジェクト内に閉じ 込めることができる
Bundler 1.10 以降の 新機能の話はしません><
依存管理
例 gem A と gem B をインストールしたい gem A が
gem 1 に依存(ver指定なし) gem B が gem 2 と gem 3に依存 gem 3 が gem 1 のバージョン1.2に依存
Gemfile gem 'gem A' gem 'gem B'
結果 gem A の最新版 gem B の最新版 gem 1 のバージョン1.2
gem 2 の最新版 gem 3 の最新版 が⼊る
便利
プロジェクト単位で管理
こんなことができる
Project1 : Ruby 1.9 + Rails 3.2 Project2 : Ruby
1.9 + Rails 4.2 Project3 : Ruby 2.2 + Rails 3.2 Project4 : Ruby 2.2 + Rails 4.2
Rubyのバージョン切り替え は別なツールの話ですが、
プロジェクトごとに⾃由に gemの組み合わせを変更
Type $ gem install bundler $ bundle install --path <path>
プロジェクト内でのコマンドの実⾏⽅法 $ bundle exec foo bar binstubsは省略するので各⾃宿題にしてください
なぜBundlerが⼤切か
依存gemの影響をプロジェクトに閉じ 込め、それを⾃動で再現できる 必要なライブラリを⼿元のコードだけで 管理できる
他の開発マシンや本番環境 との違いがなくなる
deployの⾃動化が容易に もうこれはMUSTでしょ!!
間違いのないdeployを
ちなみに
Gemfile.lock deployに必要 アプリの場合はreposに⼊れる ライブラリの場合はreposに⼊れない
BUNDLED_WITH in Gemfile.lock Bundler 1.10 で⼊った Bundler バージョ ントラッキング機能の影響 結論は全員
1.10.5+ / 1.9.10+ 使え Ruby が古い場合は関係ないかも
参考 Bundler: The best way to manage a Ruby application's
gems #201 Bundler - RailsCasts Ruby - ツールを使いたいだけの⼈のための bundler ⼊⾨ (例: vagrant + veewee) - Qiita Rubyそのもの Rubyist Magazine - Ruby の歩き⽅
Bundler 1.10+ Use 1.10.5+ / 1.9.10+ Bundler: Version 1.10 released
Ruby - Bundler バージョン1.10がリリースされました(翻訳) - Qiita Ruby - BUNDLED WITH で Gemfile.lock が更新されてしまう件 - Qiita