現状はRuby開発環境として、RVMを使っています

RVM

  • メリット
    • Ruby複数バージョン切り替えできる
    • gemsetでアプリ毎にgemsの切り分け・管理ができる
  • 問題
    • gemsetの位置づけは曖昧すぎ。 実は、アプリ毎ではなく、ある程度、複数のアプリが共有する形で使いたいわけ。例えば、Rails 3.x系のアプリであれば、1.9.2@r3とか、という感じ。ですが、実際使ってみると、アプリ1とアプリ2は、両方もRails 3ですが、別々に他のgemを使ってる。こういうケースだと、別々のgemはどうすればいいかは悩みです。イマイチ1.9.2@r3にしちゃっていますが、何とか違和感を感じてる
    • Bundlerの理解は不足でした

      Bundler manages an application’s dependencies through its entire life across many machines systematically and repeatably. そもそもBundler自体は、アプリの依存関係を管理する位置づけを持っていますね。そうであれば、わざわざRVMで管理する必要もそれほどはない気がしますね。

こういう経緯で、RVMをやめて、rbenvBundlerに移行する

rbenv導入

  • rvm seppuku RVMアンインストールしておく
  • brew update
  • brew install rbenv
  • brew install ruby-build
  • rbenv install 1.9.2-p320
  • rbenv rehashでインストールしたものを反映する

使う

  • rbenv global 1.9.2-p320で設定
  • ruby -v確認できる
  • rbenv local 1.9.2-p320を実行すると、カレントフォルダに.rbenv-versionファイルが作られる。.rvmrcと同じですね。

しばらくは、使ってみます。

参考リンク