読者です 読者をやめる 読者になる 読者になる

一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

rvmからrbenvへ移行

rails err ruby

 実装がコロコロ変わったりしてupdateしたら動かなくなったりするとか叩かれているrvmですが、実際僕も同じ現象に遭遇した事があり、rubyのバージョン管理をrbenvに移行することにしました。37signalsの中の人が作っているので、まあ普及するかなと。OSはLionです。

rvm削除。

$ rvm implode
$ rm -rf ~/.rvm

brewでrbenv,ruby-buildをインストール。

$ brew install rbenv ruby-build

.bash_profileに以下を追加

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

よし、rubyをインストールだ・・・!と、思ったらエラー。

$ rbenv install 1.9.2-p290

ERROR: This package must be compiled with GCC, and we
couldn't find a suitable `gcc' binary on your system.
Please install GCC and try again.

As of version 4.2, Xcode is LLVM-only and no longer
includes GCC. You can install GCC with these binary
packages on Mac OS X:

https://github.com/kennethreitz/osx-gcc-installer/downloads


BUILD FAILED

どうやらLionからgccを使わなくなった様子。指示通りgccをDL&installで問題なく入りました。
使い方はrbenv + ruby-buildのインストール方法 - 223 Softwareで基本的なコマンドがよくまとまっています。詳しく知りたかったらgithubを参照。

で、そのままRailsを立ち上げたらエラー発生。

NoMethodError (undefined method `clear_active_connections!' for ActiveRecord::Base:Class):

ちょっと焦って色々探したのですが、bundle installした時にrvmを使っていたのが原因かな?と思ってvendor/bundleをrm -rfした後にbundle installしたら無事起動しました。良かった。