Mac OSX Snow Leopard でRVMを使って1.8.7と1.9.xを共存

Mac OSX (Snow Leopard) で、MacPortsのRuby1.8.7を使っているが、1.9.2も使いたいので、RVMでRuby1.9.2をインストールしてみた。

RVMのインストール

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

RVM: Ruby Version Manager - Installing RVM

RVMのアップデート

$ rvm get latest

RVM: Ruby Version Manager - Upgrading RVM
rvm get latest がエラーになる場合は、

$ rvm get head
$ rvm get latest

Gamburtsev: rvm get latest が失敗する場合

Rubyのインストール

インストール可能なRubyの確認

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.6-head
[ruby-]1.8.7[-p334]
[ruby-]1.8.7-head
[ruby-]1.9.1-p378
[ruby-]1.9.1[-p431]
[ruby-]1.9.1-head
[ruby-]1.9.2-preview1
[ruby-]1.9.2-preview3
[ruby-]1.9.2-rc1
[ruby-]1.9.2-rc2
[ruby-]1.9.2[-p180]
[ruby-]1.9.2-head
ruby-head
# GoRuby
goruby
# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby[-1.5.6]
jruby-1.6.0.RC1
jruby-1.6.0.RC2
jruby-head
# Rubinius
rbx-1.0.1
rbx-1.1.0
rbx-1.1.1
rbx-1.2.0
rbx-1.2.1
rbx[-head]
# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2011.03]
ree-1.8.6-head
ree-1.8.7-head
# MagLev
maglev[-25315]
maglev-head
# Mac OS X Snow Leopard Only
macruby[-0.8] # the default macruby
macruby-nightly
macruby-head      # Build from the macruby git repository
# IronRuby -- Not implemented yet.
ironruby-0.9.3
ironruby-1.0-rc2
ironruby-head

1.9.2をインストールする

$ rvm pkg install readline
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

これで[ruby-]1.9.2[-p180](現時点)がインストールされる。
※ rvm pkg で readline をインストールして、それをRubyインストール時に指定しているのは、irbで日本語が入力できなかったから。
最初、普通にrvm install 1.9.2 でインストールしたら、irbで日本語を入力すると、

ruby-1.9.2-p180 :001 > "???"
SyntaxError: (irb):1: invalid multibyte char (UTF-8)
(irb):1: invalid multibyte char (UTF-8)
	from /Users/pistolfly/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'

となってしまった。
Ruby 1.9 - Bug #550: irbで日本語を入力できない - Ruby Issue Tracking System
と同じような現象なので、rvm pkgでreadlineをインストールして、Rubyインストール時に指定すると、大丈夫になった。
RVM: Ruby Version Manager - 'rvm package install readline'
※ Mac OSX Lion ではreadline(の互換ライブラリlibedit)が改善されたらしく、RVMのreadlineを使わなくても大丈夫になっている。

使用するRubyを選択

$ rvm use 1.9.2
Using /Users/pistolfly/.rvm/gems/ruby-1.9.2-p180
$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]

RVMでインストールされているRubyを確認

$ rvm list
rvm rubies
=> ruby-1.9.2-p180 [ x86_64 ]

デフォルトの Rubyを設定する

デフォルトのRubyを設定する。

$ rvm --default use 1.8.7

デフォルトのRubyに変更。

$ rvm default

デフォルトの設定を確認。

$ rvm list default
Default Ruby (for new shells)
   ruby-1.8.7-p352 [ x86_64 ]

デフォルトの設定をリセットする。

$ rvm reset

RVM: Ruby Version Manager - 'rvm default' - setting default ruby for new terminals

システムのRubyに戻す

$ rvm system

Rubyのアップグレード

RVM: Ruby Version Manager - Upgrading RVM.
例: 1.9.2-p180を1.9.2-p290にアップグレードする

$ rvm upgrade 1.9.2-p180 1.9.2-p290

screenで使う場合

~/.screenrcに以下を記述する。

shell -${SHELL}

RVM: Ruby Version Manager - RVM inside Screen

RubyGems

gemを使う時にsudoしないこと。

RVM: Ruby Version Manager - 'rvm gemdir' - RubyGems and RVM

Ruby 1.9.2 にruby-debugをインストール

Ruby 1.9.2 では「ruby-debug19」をインストールする。
debuggerを入れた方がよい。
1.9.2、1.9.3で動作するruby-debug19のfork「debugger」

<strike>$ gem install ruby-debug19</strike>
$ gem install debugger

Ruby 1.9.2 にmongrelをインストール

Ruby 1.9.2 では、現時点では、1.2.0.pre2をインストールする。
mongrel | RubyGems.org | your community gem host

$ gem install mongrel -v 1.2.0.pre2 --pre

「Mac OSX Snow Leopard でRVMを使って1.8.7と1.9.xを共存」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください