122
119

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

bundlerでの運用方法

Last updated at Posted at 2012-12-26

とりあえず現時点での理解をまとめてみた。

まとめ

  • Gemfile.lockはバージョン管理しよう
  • デプロイするときは--deploymentオプションを使おう

GemfileとGemfile.lock

Gemfile

何をインストールするべきか記述する。
開発時に参照されるファイル

Gemfile.lock

何がインストールされたか、どのような依存関係があったかが記述される。
デプロイ時に参照されるファイル。

コマンド: bundle install

開発環境

開発環境
$ bundle install #--path vendor/bundle

必要なら--pathを指定して、特定のディレクトリにgemをインストールさせる。
bundle install時に生成されたGemfile.lockは、デプロイ時に利用するので必ずバージョン管理する。

デプロイ時

参考: http://gembundler.com/man/bundle-install.1.html#DEPLOYMENT-MODE

本番環境
$ bundle install --deployment

bundle install --deploymentすると、vendor/bundle以下にgemがインストールされる。
また、.bundle/configにBUNDLE_FROZEN="1"が追加される。
--deploymentオプションをつけた場合は、Gemfile.lockを元にgemがインストールされる。
--deployment付きで実行された環境で、Gemfileを書き換えて新たにgemをインストールすることはできない。

コマンド: bundle update

bundle updateはGemfile.lockの記述を無視して、GemfileでのGemの指定やそのバージョン指定などに基づいて、gemを更新する。
更新時にGemfile.lockを更新する。
--deploymentを利用している場合、開発時にしか使わない。

122
119
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
122
119

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?