Mac(Lion)にGistyをインストールする道程でRubyとかHomebrewとかアップデートした時のあれこれ

Gistyというgistを便利に使えるツールを発見したので早速入れてみよう!と思い立ち、インストール手順を調べてみるとどうやらgemでインストールするらしい…。
と、そこで「そういえばデフォルトで入ってるRuby、何にもいじってないなぁ」と思い出し、ついでにRubyとかのバージョンアップをした時の作業メモです。

gemのアップデート

 $ sudo gem update --system

で、滞り無く終了

Rubyのバージョンアップ

 $ ruby -v
 ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]

入ってるRubyのバージョンは1.8.7でしたが、調べてみると、最新の安定版は1.9.3-p0らしいのでこれを入れることにしました…が、そもそもRubyのバージョンアップの仕方が分かりません。
恐らくデフォルトとは別のディレクトリにmake installでもするんでしょうけど面倒臭い…。
で、いろいろググッてみると、rbenvというツールを使うと複数バージョンのRubyを同居させつつ簡単に切り替えることができるらしいので、これで行くことにしました。

rbenvのインストール

下記によるとHomebrewでさくっとインスコ出来るそう。
http://www.223soft.net/50
が、brew searchしても該当Formulaが出てこない。
なんでや…と思った所で、そうか、Homebrew自体の更新が必要なのかもしれない、と気づきました。そういえば、Homebrewも入れてから何にもいじってなかった。

Homebrewのアップデート

 $ brew update

を実行するとエラーが。
ググッてみると同じ現象に見舞われている下記エントリを発見
メモ帳: あるー日♪homwbrewをupdateしたらエラーがでよった。
エラー表示メモるの忘れたんですが、上記エントリと同じような状況になってしまっていたと思います。
ですので、上記エントリを参考に操作。

 $ sudo chown -R `whoami` /usr/local
 $ cd /usr/local/
 $ git stash
 $ git add .
 $ git reset --hard

おそらく、何らかの原因によりbrewコマンド以外の経路でFormulaが変更された状態でbrew updateをかけるとpullが失敗する為、ワーキングツリーの状態をHEADに合わせなきゃいけないんだと思います。
その後

 $ brew update

を実行し、成功。

 $ sudo chown -R root .

で、パーミッションを元に戻します。
ついでに

 $ brew upgrade

を実行してFormulaを最新化しておきました。


で、ようやくHomebrewが更新できたので、ようやくrbenvのインストールにとりかかります。
上記の通り

 $ brew install rbenv
 $ brew install ruby-build

でさくっとインスコ成功。
上記エントリの通り、~/.bash_profileに

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

を追記するんですが、~/.rbenv/completions/rbenv.bashは存在しませんでした。*1
なので
https://github.com/sstephenson/rbenv/blob/master/completions/rbenv.bash
から持ってきて設置

 $ source ~/.bash_profile

して設定を反映させて、rbenvのインストール終了

rbenvを使ってRuby 1.9.3-p0 をインストール

 $ rbenv install 1.9.3-p0
 $ rbenv global 1.9.3-p0 
 $ rbenv rehash 

上記の操作を実行。特にこれといって何もなし

 $ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

おぉ…バージョン切り替わっとる…。

Gistyインストール

ようやく本題まで到達。Gistyをインストールします。

 $ sudo gem install gisty

教科書通り、上記コマンドを実行するとスイっとインストール完了。
.bashrcに

 export GISTY_DIR="どこか適当なディレクトリ"

を設定し

 $ source .bashrc

して設定を反映。

 $ gisty sync

を実行すると、ちゃんと設定したディレクトリにGistの内容が同期されました!*2

*1:少なくともこのインストール方法では

*2:gitにgithubの設定がすでにされている前提です