Mac Portsのselect rubyでRubyのバージョン変えたのにbundle installでコケる
Created: 8/23/2013, 12:00:00 AM
自分はなぜかMac Portsを使ってます。なぜかは解りませんが昔から使ってるのでそのままみたいな感じです。
だからRubyもPortsで入れていて複数のRubyバージョンの共存にはselect rubyってやつを使ってます。以下みたいにすることで簡単にRubyのバージョンを切り替えられます。
$ sudo port select ruby ruby19 Selecting 'ruby19' for 'ruby' succeeded. 'ruby19' is now active. $ ruby -v ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin11] $ sudo port select ruby ruby20 Selecting 'ruby20' for 'ruby' succeeded. 'ruby20' is now active. $ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin11]
select ruby入れておけばRuby自体はPortsでインストール可能なRubyをガンガン入れれると思います(多分)
でも、あるRailsアプリをGithubからCloneして動かそうとしてbundle installすると「Rubyは2.0以上じゃねーとダメだ」と怒られました。Gemfileを見ると確かにruby '2.0.0'とありました。
あれ?と思って再度select rubyで2.0しruby -vでバージョンも確認しましたがRubyのバージョンはちゃんと2.0.0p247だし…
bundlerってRubyのバージョンどこを見てるんだろうってググっても見つからず環境変数見てもそれらしいものもなく…
と、そこでbundler自体が古いんでしょと気がつきました。で以下のようにbundlerをインストールしなおしたらOKでした。
$ sudo gem uninstall bundler $ sudo gem install bundler
これは1.9のgemのbundlerが使われたままで新たに2.0のgemにbundlerが入ったのかどうか定かではないですが、まあいいやw
あと、ずっとbundlerでSSLのエラー吐いてたのも何か治った。いつもGemfileのhttps://rubygems.orgをhttp://rubygems.orgに書き直してたから助かったw
あとrakeも全部Ruby 2.0用にインストールが必要ですね。