ruby on rails を始めたときに 覚えておきたい bundler(バンドラー)の使い方...

20
Ruby on Rails を始めたときに 覚えておきたい Bundler(バンドラー)の使い方 Ruby / Ruby on Rails ビギナーズ勉強会 第3回 Ticklecode. Yoshinori Kobayashi 1

Upload: kobayashi-yoshinori

Post on 18-Jul-2015

588 views

Category:

Internet


5 download

TRANSCRIPT

Ruby on Rails を始めたときに 覚えておきたい Bundler(バンドラー)の使い方

Ruby / Ruby on Rails ビギナーズ勉強会 第3回

Ticklecode. Yoshinori Kobayashi

1

生まれは 奈良県 です。

2

小林由憲(こばやしよしのり)

Twitter: @AsbyuKobayashi

ブログ: In Advance Only

3

アジェンダ

1.パッケージ管理システム RubyGems と Bundler

2.最初に覚えておきたい4つのbundleコマンド

3.Bundlerを理解する上で、参考になるサイト

4

1.パッケージ管理システム RubyGems と Bundler

5

Rubyでパッケージ管理システムといえば、RubyGems

Railsをインストールするとき gem install rails

gem install コマンドで、RubyGems.org からパッケージを取得してインストールしてくれる。

https://rubygems.org/

RubyGems.orgはRubyコミュニティのgemホスティングサービス

sassをインストールするとき gem install sass

6

RubyGems(gem)だけでは、

複数のPCで、Railsアプリケーションを動かすために同じパッケージ、同じバージョンを揃えるのが難しい。

そこで

各PCで、 gem install で個別にパッケージを導入しないといけない。

7

http://bundler.io/ Bundler(バンドラー)公式サイト

8

Bundlerとは

BundlerはRailsアプリケーションに必要なgemパッケージの種類とバージョンを複数のPCで同じに設定するための仕組みを提供している。

【公式サイトより】 Bundlerは、必要とされる正確なGemとバージョンを追跡し、インストールすることで、Rubyプロジェクトのための一貫性のある環境を提供します。 Bundlerは、依存関係の地獄からの出口であり、あなたが必要とするGemは、development、staging、およびproductionに存在していることを保証します。プロジェクトの作業を開始すると、 Bundlerがインストールするのと同じくらい簡単です。

9

Bundler はGemfile(ジェムファイル)で 必要なGemパッケージを一元管理

rails new アプリケーション名 で Gemfile も作成される

Gemfile は インストールするパッケージが記載されたリスト。

10

「gem ‘rails’, ‘4.2.0‘」 railsパッケージは、バージョン4.2.0の固定でインストール

「gem 'sass-rails', '~> 5.0'」 5.0 より大きく、5.1より小さい。マイナーアップグレードのみインストール

Gemfileで必要なパッケージのバージョンも管理

「gem 'uglifier', '>= 1.3.0'」 バージョンが1.3.0以上であればインストール。最新があればインストール。

11

Gemパッケージ情報をシェアできる。

bundle install

RailsアプリとGemfileをシェアする。

このアプリに必要なGemパッケージがインストールされる

別のPCでも同じGemパッケージの状態にすることができる。

12

2.最初に覚えておきたい4つのbundleコマンド

13

bundle install

Gemfileに書かれたGemパッケージと、そのGemパッケージが依存しているGemパッケージを自動的に調べて全てインストール。 Gemfile.lockにインストールされたGemパッケージの名前とバージョンが記録する。

bundle コマンドは、必ず Gemfile が存在するディレクトリ上で実行する。

14

bundle update

Gemfile.lock(以前にインストールされたもの)を無視して、指定されたgemを更新。 明示的にgemのバージョンを更新するために使用します。 ※マシン間で同じgemやバージョンをインストールするときは bundle install を使う。

15

bundle exec

Gemfileで指定されたgem環境でコマンド実行 OSコマンドと区別して、gemでインストールしたコマンドを使うように指示する。

bundle exec rspec spec/requests/static_pages_spec.rb

例えば、

gemでインストールした、rspec(テストツール)を「明示的に」使う。

16

bundle show rails で、rails がインストールされている場所がわかる。

bundle show

gemの名前とバージョンを表示。

gemパッケージがインストールされている場所がわかる。

bundle show --paths で、gemパッケージがどこにインストールされたのかリストできる。

17

bundle open 指定されたGEMのソースディレクトリが開く。 動作させるには、EDITORまたはBUNDLER_EDITORの環境変数の設定が必要。

指定した、gemの中を移動したり、編集できる。 Eixt するともとのコマンド位置に戻る。

18

bundle outdate バンドルされた gem の中から古くなったものの(バージョンアップ可能なものの)リストを出力する。

bundle outdate が実装される前は、bundle update でまとめて更新するしかなった。 bundle outdate の履歴をみて、個別に bundle update を行う運用ができるようになった。

上記では、bootstrap-sass 3.3.4.1 にバージョンアップができることがわかる。

19

3.Bundlerを理解する上で、参考になるサイト

Bundler再履修: bundle execって何? gemはどこに入るの?

Bundler Official site

Bundlerを使ったGemパッケージの管理

[ruby]最初に知っておけば良かったbundlerの使い方 rails編

【翻訳】速くなったのはいいとして、Bundler 1.1 の他の新機能は?

bundler で管理している gem のソースをすぐに読み始める方法

ご清聴ありがとうございました。