bundle install
できない!
久しぶりにデプロイしようとしたらまず bundle install
しろと怒られました。
しぶしぶ bundle install
した結果・・・
$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/..
Using rake 10.3.2
Using i18n 0.6.11
Using minitest 4.7.5
Using multi_json 1.9.0
Using atomic 1.1.15
Using thread_safe 0.2.0
Using tzinfo 0.3.39
Gem::InstallError: activesupport requires Ruby version >= 1.9.3.
An error occurred while installing activesupport (4.0.3), and Bundler cannot continue.
Make sure that `gem install activesupport -v '4.0.3'` succeeds before bundling.
コケた!こないだまで大丈夫だったのに!
開発環境でも bundle install
できてたのですが、デプロイ用のサーバ上でやるとコケる・・・これはいかに。
原因は?
こないだ追加した gem
がダメだったのか、それとも何かバージョンが上がったのか、とか妄想を巡らせたのにダメ。
ruby のバージョンも問題なし。
$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux]
そういえばこのサーバは rbenv
で ruby のバージョンいじってました。
$ cd ~
$ rbenv versions
* system
2.0.0-p481 (set by /home/user/.rbenv/version)
$ cd /path/to/app
$ rbenv versions
system
* 2.0.0-p481 (set by /path/to/app/.ruby-version)
ぐぬぬ。
となると、bundle が使ってる ruby が違うのでは・・・?
$ which ruby
~/.rbenv/shims/ruby # rbenv の ruby
$ which bundle
/usr/bin/bundle # グローバル!
それだ!!
という訳で解決方法
ローカル ruby で bundle
を使えるようにします。
$ cd /path/to/app
$ rbenv exec gem install bundler
Fetching: bundler-1.10.3.gem (100%)
Successfully installed bundler-1.10.3
Parsing documentation for bundler-1.10.3
Installing ri documentation for bundler-1.10.3
1 gem installed
$ rbenv rehash # 忘れずに!
$ which bundle
~/.rbenv/shims/bundle
おお、ようやく来ました。という訳で気を取り直してもう一度。
$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/..
Using rake 10.3.2
Using i18n 0.6.11
Using minitest 4.7.5
Using multi_json 1.9.0
Using atomic 1.1.15
Using thread_safe 0.2.0
Using tzinfo 0.3.39
...(中略)...
Using bundler 1.10.3
Bundle complete! 15 Gemfile dependencies, 45 gems now installed.
Bundled gems are installed into ./vendor/bundle.
やっと正常にインストールできました。めでたし。