Mac OS X 10.6.8 Snow Leopard で Ruby 1.9.3 の環境構築(未完)

Sqaleしたくて
こないだからもぞもぞむずむずしてたんだけど
どうもエラーが出て
原因がわからなくて
そもそも、環境がいまいちどうなってるのか把握できていないことが問題な気がして
ちゃんと整理しようと思ったところ。

Twitter botを作るときとかに
わけがわからず いろいろインストールしてしまったんだけど
Rubyのバージョン管理とか、切り替えとか、
ちゃんとわかってないまんま。

いろいろ試行錯誤したことをメモしておきます。
ほんとにひたすらメモ。

初心者にわかりやすい! ただし、Lionの場合

最初にTwitterでこちらのエントリを見かけたのをきっかけに、これを参考に整理しようと思ったのですが
Loading...

わかりやすくて安心な感じ。
でも私、そもそもLionじゃない。(ここで違いがあるのかはまだ未確認)

まずは今のいろいろのバージョンを確認する

初心者がもう一度iPhoneの開発をXcodeでがんばってみる Xcodeのバージョンの確認方法
こちらを参考にXcodeから確認。

Xcode

バージョン 3.2.6 (1761)

Apple Developerで確認したところ、
Snow Leopardは2011.4.22.に配布されている、3.2.6が最新みたい。(2012.6.18.現在)
Sign In - Apple

Homebrew

これがよくわかんなかったんだけど0.9でいいのかな…

Ruby

ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
これを1.9.3p194にしたい…

参考ブログエントリその1

Destrudo or libido?: Ruby 環境構築(Mac OS X 10.6.8 Snow leopard)
HomebrewをインストールするのにMacPortsがインストールされていると
問題があるということでMacPortsのアンインストールをする、ということですが
記載のコマンドを実行すると

$ sudo port -fp uninstall --follow-dependents installed
Password:
sudo: port: command not found

と出てくるんです。
てことはMacPortsはアンインストール済みってことでいいのかな。
前にHomebrewいれたときに、アンインストールしたのかもしれない。
やっぱりなんでも記録しておかないと、わかんなくなっちゃうなと反省。

Homebrewはアップデート完了。

readlineは

$ brew install readline
Error: readline-6.2.2 already installed
$ brew link readline
Warning: Already linked: /usr/local/Cellar/readline/6.2.2

ということで大丈夫と判断。

MacPortのアンインストールに伴い、必要なパッケージをインストールする必要があるということで
盲目的にインストール

$ brew install curl
$ brew install mercurial
$ brew install python

このあとrbenvとruby-buildをインストールしまして、
その後の「~/.bash_profileに設定記述」てやつ。。
環境変数を設定するってことですね、きっと。
パスを通すってやつでしょうか。

vi .bash_profile

で中身を確認したところ

eval "$(rbenv init -)"
source ~/.rbenv/completions/rbenv.bash

はあったんですが肝心の.rbenv以下にcompletionsとかゆーのない
ので
作って
rbenv.bashファイルも作って下記の通り記述して保存しました。

_rbenv() {
COMPREPLY=()
local word="${COMP_WORDS[COMP_CWORD]}"

if [ "$COMP_CWORD" -eq 1 ]; then
COMPREPLY=( $(compgen -W "$(rbenv commands)" -- "$word") )
else
local command="${COMP_WORDS[1]}"
local completions="$(rbenv completions "$command")"
COMPREPLY=( $(compgen -W "$completions" -- "$word") )
fi
}

complete -F _rbenv rbenv

この記述はこちらから
rbenv/rbenv.bash at master · rbenv/rbenv · GitHub


で、パスのことを調べてる時にこちらを拝見したら
rbenvのインストール - メモ帳
rvmもアンインストールしたほうがいいということなので

$ rvm implode

その後に.bashrcや.zshrcに書かれている設定を消したほうがいいということで

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
~

とか書いてあったのを(一応コピーとっといて)削除
ファイル自体は消してない。

いろいろやったのでここで一度ちょっとターミナルを再起動してみた。

いざRubyを!

$ rbenv install

でインストールできるRubyのバージョンの確認。

ここで1.9.3はp194がない…
どうして…
どこいったの…

わかんないけどしょうがないからp0でやってみようと思い、

$ rbenv install 1.9.3-p0
# 省略
BUILD FAILD

でもrbenvでバージョンみてみたら入ってるもんだから、
バージョン変更作業をしてみた。

# 使用するRubyを指定
$ rbenv global 1.9.3-p0
# 変更を反映
$ rbenv rehash
# 現在有効になっているRubyのバージョンを表示
$ rbenv version
1.9.3-p0 (set by /Users/home/.rbenv/version)
# Rubyのバージョンを確認
$ ruby -v
rbenv: ruby: command not found

The `ruby' command exists in these Ruby versions:
1.9.2-p290

んー???



参考ブログエントリ2

LionとSnow LeopardのためのRuby環境構築 詳細エントリ
Ruby on Rails 3.2 を Mac OS X にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX

ちょっと気分を変えて別エントリで挑戦。

Xcode, Homebrewやrbenv, ruby-buildは問題ないとして
でもなんとなくもういっかいパスを通してしまった。
さっきとやり方が違ったので。これはよくないのかな…

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

なにもエラーメッセージは出てこない。
ではRubyのインストール!
今度はなにやらいろいろついてますが、どういう意味でしょうか?

$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p194
ruby-build: definition not found: 1.9.3-p194

ということで私のruby-buildはどうしてもp194が探せないらしい。

ぐぐったら同じ境遇ぽい方が忘備録書いて下さっていた!
rbenv で新しいバージョンの ruby を入れたときの備忘録 - 杉風呂2.0 - A Lifelog -

ruby-buildが古いとだめなのですね

ruby-build 自体を Homebrew などで入れ直す必要がある

# はじめにunlinkをしないといけないらしい
$ brew unlink ruby-build
Unlinking /usr/local/Cellar/ruby-build/20111230... 3 links removed

# ruby-buildを入れ直し
$ brew install --HEAD ruby-build
==> Cloning https://github.com/sstephenson/ruby-build.git
Cloning into '/Users/katorie/Library/Caches/Homebrew/ruby-build--git'...
remote: Counting objects: 55, done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 55 (delta 27), reused 27 (delta 6)
Unpacking objects: 100% (55/55), done.
==> ./install.sh
/usr/local/Cellar/ruby-build/HEAD: 45 files, 196K, built in 7 seconds

# インストールできるRubyのバージョンを確認
$ rbenv install

きた!きたよ!p-194
…でもまた BUILD FAILD

$ rbenv install 1.9.3-p194
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/katorie/.rbenv/versions/1.9.3-p194
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz...
Installing ruby-1.9.3-p194...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/gz/gzooP4KeFM06cET1xzmrRk+++TI/-Tmp-/ruby-build.20120617133416.79104
Results logged to /var/folders/gz/gzooP4KeFM06cET1xzmrRk+++TI/-Tmp-/ruby-build.20120617133416.79104.log

Last 10 log lines:
compiling ossl_x509cert.c
compiling ossl_x509crl.c
compiling ossl_x509ext.c
compiling ossl_x509name.c
compiling ossl_x509req.c
compiling ossl_x509revoked.c
compiling ossl_x509store.c
installing default openssl libraries
linking shared-object openssl.bundle
make: *** [build-ext] Error 2


うーん、ちょっと今日はギブアップ…

現状の問題点

Ruby 1.9.3-p194がインストールできない
rbenvでバージョン確認すると1.9.3-p0だけど、ruby -vするとエラーだし1.9.2って言われる