Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
240
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 Wasm
wtnabe
0
8
Cloud Native Buildpacksって結局どうなの?
wtnabe
0
12
Decoupled System with Turbo Frame
wtnabe
1
59
join-kanazawarb-or-7years-passed-since-it-was-borned
wtnabe
0
720
let-me-edit-with-editor
wtnabe
0
270
google-photos-and-storage-and-rclone
wtnabe
0
370
one case of how to begin vuejs
wtnabe
2
410
Kanazawa.rb meetup #56 Coderetreat Intro
wtnabe
0
390
lightweight authenticity of microservices
wtnabe
0
410
Other Decks in Programming
See All in Programming
Hi, have you met Kotlin Multiplatform? | DevFest Vienna 2024
prof18
0
240
Jakarta EE as Seen Trough the Lens of the ASF
ivargrimstad
0
950
Golang と Erlang
taiyow
7
1.8k
Honoの来た道とこれから
yusukebe
17
2.5k
もう実家に手頃な情シス娘は不要!Bedrockでもう一人の娘を作る
komakichi
2
160
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
1
240
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
690
Competitionsだけじゃない! Kaggle Notebooks Grandmasterのすすめ
corochann
2
940
Новый уровень ML-персонализации Lamoda: Как мы усилили ее в каталоге и перенесли на другие продукты
lamodatech
0
420
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
200
Folding Cheat Sheet #8
philipschwarz
PRO
0
140
Vertical Architectures for Scalable Angular Applications
manfredsteyer
PRO
0
240
Featured
See All Featured
It's Worth the Effort
3n
183
27k
What's new in Ruby 2.0
geeforr
342
31k
Ruby is Unlike a Banana
tanoku
96
11k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Gamification - CAS2011
davidbonilla
80
5k
Music & Morning Musume
bryan
46
6.1k
Code Reviewing Like a Champion
maltzj
519
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How STYLIGHT went responsive
nonsquared
95
5.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
26
730
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