rubyでつまづいたメモ(2):とりあえず解決編

rubyでつまづいたメモ(1) - myy*blogの解決編です.

前提

  • Mac OS X Lion 10.7.5 に標準でインストールされている ruby 1.8.x がある
  • 数ヶ月前に ruby 1.9.3-p125 をインストールしていたらしい
    • rvmもrbenvもなしで,インストールしてた!

今回の問題

このページを参考にスクレイピングのコードを書きたいと思って,作業を始めた.

  • nokogiri のインストール
    • gem install nokogiri だと権限がないと言われた
    • sudo gem install nokogiri で nokogiri をインストール
  • 参考ページのソースコードを実行するとエラー.nokogiriをロードできていないようだ.

ここまででようやく,gem は ruby のバージョンごとに異なるものだ,ということに気付く.

  • rubyのバージョンは1.9.3
  • sudo gem install ほげほげ してたので,nokogiriは標準の1.8のほうにインストールされていたようだ

対処方法

rubyのバージョンが複数存在すること,1.9.3-p125でgemを使うにはどうしたらよいかわからない!
ということで,rvmとかrbenvを使ってバージョンを切り替えて使えるようにすることで,とりあえず解決するのではないかという結論に達した.

というわけで,こことかここを参考に作業した.

  • rbenvをインストール
  • ruby 1.9.3-p374 をインストール
  • ruby 1.9.3-p374 を使うように指定する
  • ruby -v で確認する.インストールしたバージョンになっている.
  • gem install nokogiri
    • 今度は権限がないと言われなかった
  • 参考ページのソースコードを実行.きちんと出力された!

やったー!

残る謎

数ヶ月前に1.9.3-p125をインストールしたときに,1.9.3のほうを使うことをどうやって指定したのかを全く覚えていない.
私は一体どんなコマンドを打ち込んだのだろう.