[rvm]というもので、Rubyのバージョンを複数混在できる。
さらにさらに、1つのRubyのバージョンに複数のバージョンのRailsも混在できるらしい。
rvmは既にインストールしていたので、省略。(ログ残しとけば良かったorz)
rubyのバージョンを変えるには
->1.8.7へ
>rvm 1.8.7 |
->1.9.2へ
>rvm 1.9.2 |
rvmで管理していない状態に戻すには
>rvm system |
楽するために
>rvm --default 1.9.2 |
完全に元に戻すには
>rvm reset |
------------< gemset >
rubyのバージョンが変わると、gemも切り替わってる(※gem env や gem list で違いを確認可能)
しかし、1つのRubyのバージョンには1つのgem環境。
rvmでgemの環境も複数管理できるっぽい
gemsetというもので集合を扱っている。
>rvm 1.9.2 >rvm gemset list gemsets for ruby-1.9.2-p290 (found in /Users/kanpe777/.rvm/gems/ruby-1.9.2-p290) global |
しょっぱなではglobalというgemsetがあるだけ
新しいgem環境を作ってみる
>rvm gemset create test 'test' gemset created (/Users/kanpe777/.rvm/gems/ruby-1.9.2-p290@test). |
確認
>rvm gemset list gemsets for ruby-1.9.2-p290 (found in /Users/kanpe777/.rvm/gems/ruby-1.9.2-p290) global test |
消す
>rvm gemset delete test Are you SURE you wish to remove the entire gemset directory 'test' (/Users/kanpe777/.rvm/gems/ruby-1.9.2-p290@test)? (anything other than 'yes' will cancel) > |
確認してくるので、yesを打ち込み、Enter
複数のRailsのバージョン用のgem環境を作成
>rvm gemset create rails30 >rvm gemset create rails31 >rvm gemset create rails32 |
gem環境を切り替える
>rvm gemset use rails30 |
もっと簡単に
>rvm 1.9.2@rails30 |
確認
>rvm gemset list global => rails30 rails31 rails32 |
railsのインストール前にsqlite3のインストール
>gem install sqlite3-ruby >gem install sqlite3 |
そして、railsの3.0をインストール
バージョンを指定しなければならない
>gem install -v=3.0.5 rails |
少し時間がかかる
次にgem環境を変え、rails3.1をインストール
>rvm 1.9.2@rails31 |
やることは一緒、railsのバージョンが異なるくらい
>gem install sqlite3-ruby >gem install sqlite3 >gem install -v=3.1.1 rails |
似たようなことを1.9.2@rails32にも....これ書いた時の最新railsのバージョンは 3.2.2であった。
終わったら、
>rvm 1.8.7 |
そして、同じようにgemset createをする
(rvm gemset listするとわかるが、1.8.7に変えるとgemsetの中身も変わっていることが確認できる)
そして同じようなことをすると出来上がり。
今後、rubyの1.8.7でrailsを使わないと判断したので、入れない。
一応入れると以下のようなことが予想される
- rvm 1.8.7@rails30 -> rails 3.0
- @rails31 -> rails 3.1
- @rails32 -> rails 3.2
- rvm 1.9.2@rails30 -> rails 3.0
- @rails31 -> rails 3.1
- @rails32 -> rails 3.2