LoginSignup
3
3

More than 5 years have passed since last update.

Bundlerを少し学んだ

Posted at

hogelogが作ってくれたスクリプトを使うときにこんなコマンド使った
bundle exec ruby bin/expand_twitter_attributes.rb
bundleってなんだろう。と思って教えてもらったことのメモ。

rubygems

ruby用のライブラリの管理システム。rubygemsで管理されてるライブラリのことをgemって呼んだりする。gemコマンドでは、rubygemsで管理しているライブラリをインストールしたりアンインストールしたりできる。

Gemfile

利用するgemを記述するファイル。

Bundler

rubygemsとともに使うパッケージ管理システム。
コマンドは
bundle hoge

Gemfile.lock

Gemfileを作ったあとに
bundle install
したらできるファイル。Gemfileに書かれているgemの、コマンドを実行した時点でのバージョンが書かれている。Gemfile.lockがすでに存在するときにbundle installしても、上書きされたりはしないので安心しろ。

bundle exec

ざっくり言うと、
Gemfile.lockに書かれているgemのバージョンの環境で、以下のコマンドを実行しなさい。
という意味。

ざっくりした話

スクリプトを作った時と使う時では、gemのバージョンが違うことは多々ある。そうすると、作った時点ではちゃんと動いていたのに、いざ使おうとしたときには動かなくなってしまう。それを防いでくれるのがGemfileとBundlerと、それらによってできるGemfile.lock。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3