Homebrew & rbenv で行こう! on Mac

Homebrewへ行こう!

macports -> homebrew したのでメモ。

先ずhomebrewをインストール

#/usr/bin/ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

次にmacportsのインストール済みports
アンインストールしてから

#sudo port -f uninstall installed

macports自体及びゴミファイルを消しておく。

#sudo rm -rf /opt/local /Applications/DarwinPorts /Applications/Macports /Library/LaunchDaemons/org.macports.* /Library/Receipts/DarwinPorts*.pkg /Library/Receipts/MacPorts*.pkg Library/StartupItems/DarwinPortsStartup /Library/Tcl/darwinports1.0 /Library/Tcl/macports1.0 ~/.macports

その次に~/.profileの編集

export PATH=/usr/local/bin:$PATH

macportsに関する行も消しておく。
(macportsが自動的に追加している場合あり)


~/.profileの再読み込みも忘れずに。

#source ~/.profile

rbenvへ行こう!

rvm -> rbenv したのでメモ。

先ず、RVMを消す。

#rvm implode

次に、~/.profileの編集,
rvmに関する行を消しておく
注)行を消していないとcdコマンドがエラー

~/.profileの再読み込みも忘れずに。

#source ~/.profile

で、rbenv及びruby-buildのインストール。

#brew install rbenv
#brew install ruby-build

次に、~/.profileの編集。次の行を追加。

export PATH=/usr/local/opt/rbenv/bin:$PATH
eval "$(rbenv init -)"

~/.profileの再読み込みも忘れずに。

#source ~/.profile

ruby-2.0.0-*のインストール

#CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline`" rbenv install ruby-2.0.0-*

しようとするとコケる場合があるので、コケる場合は

/usr/local/opt/ruby-build/share/ruby-build/

に 2.0.0-* というファイルがあるか確認する。
なければ、

https://github.com/sstephenson/ruby-build/tree/master/share/ruby-build

からとってくるか、

install_package "2.0.0-*" "http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-*.tar.gz#[ファイル検証用のMD5値]"

を参考に、自分でつくる。
MD5値はruby-2.0.0-*のリリースアナウンスからコピペでOK。

コケる場合は再挑戦。

#CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline`" rbenv install 2.0.0-*

今度は成功。
※CONFIGURE_OPTSはruby2.0.0がMacOS Xデフォルト
のopensslより新しいopensslとMacOS Xデフォルトのl
ibeditのラッパーであるreadlineではなくモノホンの
readlineを必要とするため、新しくインストールした
opensslとreadlineの場所をrubyのconfigureオプションに
渡す変数。
予め

#brew install openssl
#brew link openssl
#brew install readline
#brew link readline

しておく。


上記インストールでは

~/.rbenv/versions/

にインストールされてしまうので、それが嫌いな人は

#sudo su
$source /Users/[ユーザ名]/.profile
$CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl` --with-readline-dir=`brew --prefix readline`" ruby-build 2.0.0-* /usr/local/opt/rbenv/versions/2.0.0-*
$exit

でインストール。
※sudoではなく必ず"sudo su"でROOTユーザに
なってから /usr/local/opt/rbenv/versions 下
へのインストールを行いましょう。sudoで
インストールしてしまうとgemのおかしな挙動に
嵌ってしまいます。

/usr/local/opt/

はhomebrewのパッケージインストールディレクトリ。
そして、おまじないでrbenvが内部で保持する情報を更新。
(このおまじないはgemコマンド利用時にも必須。)

#rbenv rehash

このおまじないを毎回唱えるのが面倒な人は

#gem install rbenv-rehash

でrbenv-rehashをruby環境毎に入れると
gem用のおまじないを自動化してくれます。
※rbenvは内部で保持する情報をユーザ毎に準備するので注意!


シェルのRubyの切換は

#rbenv shell 2.0.0-*

シェルのRubyをシステムあるいはHomebrew等管理
Rubyに戻すには

#rbenv shell system

シェル以外のRubyの切換は

#rbenv global 2.0.0-*

シェル以外のRubyをシステムあるいはHomebrew等管理
Rubyに戻すには

#rbenv global system