bundlerがrubyのバージョンを間違う問題

rbenv (ruby-2.1.2) + bundler の環境で

$ bundle install --path vendor/bundle

ってすると,vendor/bundle/ruby/2.0.0 以下にgemがインストールされてしまうトラブルに直面した.


ruby 2.1系なので,vendor/bundle/ruby/2.1.0 以下にインストールされるのが正しい挙動のはず.


このトラブルのせいで,bundle installをしてもgemをインストールしていないことになってしまった.



まずは,本当にrubyが2.1.2を使用中なのかを確認.

$ rbenv version
2.1.2 (set by /Users/yuya/ruby/event_generator/.ruby-version)
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

確かに2.1.2っぽい.



システムにインストールされている(rbenvではない)rubyのバージョンが2.0.0なので,

bundlerがシステムの方のrubyを参照してる気がする.

$ which bundle
/usr/bin/bundle

なぜそんなところのbundlerが使われちゃってるのか.



まさか・・・

$ which gem
/Users/yuya/.rbenv/shims/gem
$ gem list
bigdecimal (1.2.4)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.5)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.2.0)

bundlerがない!



ということで,以下のコマンドで解決した.

$ gem install bundler
$ rbenv rehash

こんなしょーもないミスだったとは.




今回から得た教訓


新しいrubyのバージョンをインストールしたら,忘れずにbundlerも入れる!




(rehashも忘れずに)



Comment

No comment