おうさまのみみはロバのみみ

ネット上での木の洞

Macな環境にHomebrew+rbenvでRailsインストールしようとしたらドハマりした件について

偉大なる先駆者のかたが丁寧にまとめてくださっていたので本当に助かった。

MacOSX-Lionでrbenvを使ってRubyOnRailsの環境構築すると、以下のようなメッセージが出てドハマリしたけど、なんとか解決したことについてのメモ(推理なので正しいかどうかの確証持てない) http://qiita.com/w7tree/items/0860e2856f2429b20eee

結論からいうとおそらくこの推測はほぼ的を射ている、と思う。
実際に自分も同様の現象が発生していたが原因としてはMacにデフォルトでインストールされているRubyや、
それらのgemはrbenvでは管理されていないことだと思われる。
(当たり前といえば当たり前なのだが)

今回の対応でまずかった点

  • Homebrewやrbenvなどを最近の主流らしいからと深く考えずにとりあえず使ってみたこと
    • 新しいツールを複数使ってしまったことによりどちらが原因なのかを調べる手間が発生してしまった。
    • 予め多少調べておけば今回に関してはどちらに原因があるかはすぐにわかったはず
  • 原因解決を急ぎすぎた
    • ↑の投稿できちんと推測されているにもかかわらずそれらを無視して解決策だけを探して流し読みしてしまった。
    • 何が原因でどう対処するのかまで書いてあるのに無駄なブログなどを漁るなどして時間を浪費した。
  • そもそも参照しているコマンドがどこにあるのか?などを調べていなかった
    • ↑の投稿がなければアホみたいに時間を無駄に費やしていただろうことを考えると……
    • 問題をきちんと細分化して確認していなかった。
    • 問題の切り分けをやってないのに問題が解決するわけもなく…。

発生してしまった内容よりもどちらかというとその際に対応していた内容がひどすぎて今朝読んだ

ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 http://qiita.com/hirokidaichi/items/27c757d92b6915e8ecf7

の悪習がぴったし当てはまってしまった。

急がば回れ、とこれからは気をつけていきたい所存。

追記: 漏れがあったので追記。
↑を行ったあとでそれでもなおrbenvがおかしい場合がある。
が、これ単純にrbenvにどのバージョンのrubyを使うかが指定できてないことにより発生する。
具体的には

rbenv global 2.x.x
rbenv rehash

で問題はこのrehash時に判明する。

rbenv: cannot rehash: /Users/ほげほげ/.rbenv/shims/.rbenv-shim exists

.rbenv-shimがすでにあるんだけど!と怒られているのだが実際にはこのファイルは存在しない。
じゃあ何が原因かというとパーミッションに問題がある。一時的に設定を0777に変更。
再度globalしてrehashするときちんとrbenvで指定したバージョンのrubyが使えるようになっているはず。 変更が完了したのを確認してからパーミッションは元の値に戻す。
ヽ(´ー`)ノ