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
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Afresh Bundler extra lesson
「今さらBundler補講」Kanazawa.rb meetup #38
wtnabe
October 17, 2015
More Decks by wtnabe
See All by wtnabe
新しいフロントプロセスとドキュメントフォーマットを考えてみた
wtnabe
0
40
Rubyでもモノリポしたい - 調査、おさわり編 -
wtnabe
0
71
Ruby de Railway Oriented Programming
wtnabe
0
120
Bindanのススメ
wtnabe
0
70
そのオブジェクト、何を保証してくれますか? - GuideRailのススメ -
wtnabe
0
80
Effective Jekyll
wtnabe
0
100
5 min Jekyll/Liquid Plugin cooking
wtnabe
0
69
Ruby de Wasm
wtnabe
0
100
Cloud Native Buildpacksって結局どうなの?
wtnabe
0
86
Other Decks in Programming
See All in Programming
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.7k
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
Foundry Localでエージェント開発
seosoft
0
120
Oxlintはいいぞ(続)
yug1224
1
540
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
170
高専キャリア LT 発表内容
crysta1221
6
5.5k
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
180
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
300
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
300
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
110
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Thoughts on Productivity
jonyablonski
76
5.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
640
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
30 Presentation Tips
portentint
PRO
1
390
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
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