複数のRuby環境の管理・切替ができるrvmをインストールした
あらすじ
先にWindowsにてRubyのバージョン管理ができるpikをインストールしていたので、今度はWindows以外にrvmをインストールする。
まとめ
とりあえず以下のコマンドを覚える。
事前準備
- 既にインストールされていたRubyは全部消した。
手順
インストールのため下記コマンドをうつ。
$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
ホームディレクトリに.rvmが生成される。list knownでインストールできるRuby一覧が表示される。
(2012/04/07追記)command not foundが出る場合はPATHが通ってない。
Installing RVM to /Users/kk_Ataka/.rvm/
Adding rvm PATH line to /Users/kk_Ataka/.bashrc /Users/kk_Ataka/.zshrc.
RVM sourcing line found in /Users/kk_Ataka/.bashrc.
$ rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.6-head [ruby-]1.8.7[-p352] [ruby-]1.8.7-head [ruby-]1.9.1-p378 [ruby-]1.9.1[-p431] [ruby-]1.9.1-head [ruby-]1.9.2-p180 [ruby-]1.9.2[-p290] [ruby-]1.9.2-head [ruby-]1.9.3-preview1 [ruby-]1.9.3-rc1 [ruby-]1.9.3[-p0] [ruby-]1.9.3-head ruby-head # GoRuby goruby # JRuby jruby-1.2.0 jruby-1.3.1 jruby-1.4.0 jruby-1.6.1 jruby-1.6.2 jruby-1.6.3 jruby-1.6.4 jruby[-1.6.5] jruby-head # Rubinius rbx-1.0.1 rbx-1.1.1 rbx-1.2.3 rbx-1.2.4 rbx[-head] rbx-2.0.0pre # Ruby Enterprise Edition ree-1.8.6 ree[-1.8.7][-2011.03] ree-1.8.6-head ree-1.8.7-head # Kiji kiji # MagLev maglev[-head] maglev-1.0.0 # Mac OS X Snow Leopard Only macruby[-0.10] macruby-nightly macruby-head # IronRuby -- Not implemented yet. ironruby-0.9.3 ironruby-1.0-rc2 ironruby-head
とりあえず1.8系のために1.8.7、1.9系のために1.9.3をインストールする。installコマンドを使う。
$ rvm install ruby-1.8.7 Installing Ruby from source to: /Users/kk_Ataka/.rvm/rubies/ruby-1.8.7-p352, this may take a while depending on your cpu(s)... ruby-1.8.7-p352 - #fetching ruby-1.8.7-p352 - #downloading ruby-1.8.7-p352, this may take a while depending on your connection... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4108k 100 4108k 0 0 1718k 0 0:00:02 0:00:02 --:--:-- 2576k ruby-1.8.7-p352 - #extracting ruby-1.8.7-p352 to /Users/kk_Ataka/.rvm/src/ruby-1.8.7-p352 ruby-1.8.7-p352 - #extracted to /Users/kk_Ataka/.rvm/src/ruby-1.8.7-p352 Applying patch 'stdout-rouge-fix' (located at /Users/kk_Ataka/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch) ruby-1.8.7-p352 - #configuring ruby-1.8.7-p352 - #compiling ruby-1.8.7-p352 - #installing Retrieving rubygems-1.8.10 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 243k 100 243k 0 0 533k 0 --:--:-- --:--:-- --:--:-- 1113k Extracting rubygems-1.8.10 ... Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.8.7-p352 ... Installation of rubygems completed successfully. ruby-1.8.7-p352 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.8.7-p352 - #importing default gemsets (/Users/kk_Ataka/.rvm/gemsets/) Install of ruby-1.8.7-p352 - #complete
$ rvm install ruby-1.9.3 Installing Ruby from source to: /Users/kk_Ataka/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)... ruby-1.9.3-p0 - #fetching ruby-1.9.3-p0 - #downloading ruby-1.9.3-p0, this may take a while depending on your connection... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 9330k 100 9330k 0 0 1775k 0 0:00:05 0:00:05 --:--:-- 2094k ruby-1.9.3-p0 - #extracting ruby-1.9.3-p0 to /Users/kk_Ataka/.rvm/src/ruby-1.9.3-p0 ruby-1.9.3-p0 - #extracted to /Users/kk_Ataka/.rvm/src/ruby-1.9.3-p0 Fetching yaml-0.1.4.tar.gz to /Users/kk_Ataka/.rvm/archives % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 460k 100 460k 0 0 155k 0 0:00:02 0:00:02 --:--:-- 261k Extracting yaml-0.1.4.tar.gz to /Users/kk_Ataka/.rvm/src Configuring yaml in /Users/kk_Ataka/.rvm/src/yaml-0.1.4. Compiling yaml in /Users/kk_Ataka/.rvm/src/yaml-0.1.4. Installing yaml to /Users/kk_Ataka/.rvm/usr ruby-1.9.3-p0 - #configuring ruby-1.9.3-p0 - #compiling ruby-1.9.3-p0 - #installing Removing old Rubygems files... Installing rubygems-1.8.10 for ruby-1.9.3-p0 ... Installation of rubygems completed successfully. ruby-1.9.3-p0 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). ruby-1.9.3-p0 - #importing default gemsets (/Users/kk_Ataka/.rvm/gemsets/) Install of ruby-1.9.3-p0 - #complete
gemは最新版? が入ってしまった。
※ところで、rvmでインストールしたRubyたちは~/.rvm/rubies下に入れられていく。Ruby切り替え時にパスなんかをセットしてくれるスクリプトが.rvm/scriptの下にあるのでシェル起動時に実行してくれるようにする必要がある。
if [[ -s .rvm/scripts/rvm ]] ; then source .rvm/scripts/rvm ; fi
インストールしたRubyはlistコマンドで確認できる。
$ rvm list rvm rubies ruby-1.8.7-p352 [ i686 ] ruby-1.9.3-p0 [ x86_64 ]
Rubyを切り替えるときはuseコマンドを使う。1.8に切り替え。
$ rvm use 1.8.7 Using /Users/kk_Ataka/.rvm/gems/ruby-1.8.7-p352
$ rvm list rvm rubies => ruby-1.8.7-p352 [ i686 ] ruby-1.9.3-p0 [ x86_64 ]
$ ruby -v ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0]
.rvm/rubies/ruby-1.8.7xxx/bin下のものを使っている。
$ which ruby /Users/kk_Ataka/.rvm/rubies/ruby-1.8.7-p352/bin/ruby
$ which gem /Users/kk_Ataka/.rvm/rubies/ruby-1.8.7-p352/bin/gem
$ gem -v 1.8.10
bundlerとrakeはデフォルトで入っている模様。
$ gem list *** LOCAL GEMS *** bundler (1.0.21 ruby) rake (0.9.2)
次は1.9に切り替え。
$ rvm use 1.9.3 Using /Users/kk_Ataka/.rvm/gems/ruby-1.9.3-p0
$ rvm list rvm rubies ruby-1.8.7-p352 [ i686 ] => ruby-1.9.3-p0 [ x86_64 ]
$ ruby -v ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
きちんと1.9に切り替わっている。パスも。
$ which ruby /Users/kk_Ataka/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
$ which gem /Users/kk_Ataka/.rvm/rubies/ruby-1.9.3-p0/bin/gem
$ gem -v 1.8.10
$ gem list *** LOCAL GEMS *** bundler (1.0.21 ruby) rake (0.9.2)
rvm listで"=>"の矢印ができていれば切り替え成功。
切り替えたのに矢印が出ていなかったら、rvm導入前に既にインストールしているRubyが優先的に見られている?*1 pikでやらかした時みたいにパスがうまく書き換わっていないという凡ミスをしている可能性があるかもしれない。