2012年08月18日

[Ruby] rubyのアップデート続き

前回の記事の続きです。
tappli blog: [Ruby] rubyのアップデート
http://blog.tappli.com/article/57624952.html

参考にさせていただいているサイトはこちら。
RVMのインストール - にたまごほうれん草
http://d.hatena.ne.jp/emergent/20120408/1333886864

rvmにパスが通っていないのは不便なので、パスを通そうと思って~/.bash_profileを開きました。
そこには見覚えのない記述が…。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

いまいち意味は理解でませんが、これを読み込み直したら何かが起きそうな気がする、と思い、以下を実行しました。
t2low:~ t2low$ source .bash_profile 

んで、以下確認。
t2low:~ t2low$ .rvm/bin/rvm -v

rvm 1.15.3 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

おおお、パス通ってる。なんで?
コマンドの意味はまた今度勉強することにしよう。今はrubyのインストール中でした。
インストールコマンドは参考サイトのままです。

automakeというものが必要になるらしいので、予めインストールしておきます。
t2low:~ t2low$ brew install automake
==> Installing automake dependency: autoconf
==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
Already downloaded: /Library/Caches/Homebrew/autoconf-2.69.tar.gz
==> Patching
patching file bin/autoreconf.in
==> ./configure --prefix=/usr/local/Cellar/autoconf/2.69
==> make install
/usr/local/Cellar/autoconf/2.69: 67 files, 1.9M, built in 5 seconds
==> Installing automake
==> Downloading http://ftpmirror.gnu.org/automake/automake-1.12.2.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/automake/1.12.2
==> make install
/usr/local/Cellar/automake/1.12.2: 129 files, 2.0M, built in 33 seconds

続いて、「rvm pkg install readline」を実行したところエラーが出ました。
エラーログを読め、というメッセージが出ていたので指定のログを読んでみると
どうやらmakeやCコンパイラにPATHが通ってなくてエラーになっているようです。
と思ったら、どうやらコマンドラインツールはインストールされていないようでした…。

Mac OS X Lionにしたらgccがなくてnode.jsがコンパイルできなくなった件 - 大人になったら肺呼吸
http://d.hatena.ne.jp/replication/20110726/1311687382

こちらのブログを参考にXcodeを使ってコマンドラインツールをダウンロードします。
XcodeのPreferencesを開いて、Downloadからインストールできるようです。
インストールが完了するとmakeやgccが使えるようになってました。

t2low:readline t2low$ rvm pkg install readline
Fetching readline-5.2.tar.gz to /Users/t2low/.rvm/archives
Extracting readline-5.2.tar.gz to /Users/t2low/.rvm/src
Applying patch '/Users/t2low/.rvm/patches/readline-5.2/shobj-conf.patch'...
Configuring readline in /Users/t2low/.rvm/src/readline-5.2.
Compiling readline in /Users/t2low/.rvm/src/readline-5.2.
Installing readline to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine


Fetching readline-6.2.tar.gz to /Users/t2low/.rvm/archives
Extracting readline-6.2.tar.gz to /Users/t2low/.rvm/src
Applying patch '/Users/t2low/.rvm/patches/readline-6.2/patch-shobj-conf.diff'...
Configuring readline in /Users/t2low/.rvm/src/readline-6.2.
Compiling readline in /Users/t2low/.rvm/src/readline-6.2.
Installing readline to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine

これは…インストールできたんでしょうか…?
まぁ、とりあえず次に進めます。
t2low:readline t2low$ rvm pkg install iconv
Fetching libiconv-1.13.1.tar.gz to /Users/t2low/.rvm/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4605k 100 4605k 0 0 254k 0 0:00:18 0:00:18 --:--:-- 225k
Extracting libiconv-1.13.1.tar.gz to /Users/t2low/.rvm/src
Configuring libiconv in /Users/t2low/.rvm/src/libiconv-1.13.1.
Compiling libiconv in /Users/t2low/.rvm/src/libiconv-1.13.1.
Installing libiconv to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine

これもよくわからんです…。
いよいよrubyのインストールですね。
t2low:readline t2low$ rvm install 1.9.3 --with-readline-dir=$rvm_path/usr --with-iconv-dir=$rvm_path/usr
Fetching yaml-0.1.4.tar.gz to /Users/t2low/.rvm/archives
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 460k 100 460k 0 0 137k 0 0:00:03 0:00:03 --:--:-- 152k
Extracting yaml-0.1.4.tar.gz to /Users/t2low/.rvm/src
Configuring yaml in /Users/t2low/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/t2low/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/t2low/.rvm/usr
Please note that it's required to reinstall all installed rubies:

rvm reinstall $(rvm list strings | tr "
" ',')
rvm all-gemsets do rvm gemset pristine


Building 'ruby-1.9.3-p194' using clang - but it's not (fully) supported, expect errors.
Installing Ruby from source to: /Users/t2low/.rvm/rubies/ruby-1.9.3-p194, this may take a while depending on your cpu(s)...

ruby-1.9.3-p194 - #downloading ruby-1.9.3-p194, 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 9610k 100 9610k 0 0 2035k 0 0:00:04 0:00:04 --:--:-- 2232k
ruby-1.9.3-p194 - #extracting ruby-1.9.3-p194 to /Users/t2low/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #extracted to /Users/t2low/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #configuring
ruby-1.9.3-p194 - #compiling
ruby-1.9.3-p194 - #installing
Retrieving rubygems-1.8.24
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 371k 100 371k 0 0 480k 0 --:--:-- --:--:-- --:--:-- 1702k
Extracting rubygems-1.8.24 ...
Removing old Rubygems files...
Installing rubygems-1.8.24 for ruby-1.9.3-p194 ...
Installation of rubygems completed successfully.
ruby-1.9.3-p194 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p194 - #importing default gemsets (/Users/t2low/.rvm/gemsets/)
Install of ruby-1.9.3-p194 - #complete
Ruby 'ruby-1.9.3-p194' was built using clang - but it's not (fully) supported, expect errors.

これは…成功したんでしょうか。
とりあえず、バージョンを見てみます。
t2low:readline t2low$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0]

おおお、最新版になっている!
良かった良かった。

最後に参考にさせてもらった記事の最後のコマンドを実行しました。
rvm 1.9.3 --default

エラーなし。どうやら無事に行われたようです。
これはどういう意味があったんだろう?複数のrubyのうちどのバージョンを利用するか、という設定なのかしら。

結構時間がかかりました…。
これくらチャッチャと片付けられるような能力が欲しいです。
タグ:Mac ruby rvm
posted by t2low at 10:33| Ruby