rubyのインストールにハマる

なぜか今頃になってrubyにはまって・・・・いる。おもしろい言語だが、endの使い回しがどうも気に入らない。Pascalのようにbeginendのペアではなく、ifも、forも、whileも、classも、すべてがいきなりendなので、このendはどのend?と悩むことしきりだ。おかげでendの入れ子が違うというエラーがやたらと出てくる。ほとんどがclassClassとtypoしてしまうのが原因だったりする。

さて、リンゴなマシンのrubyが引退したruby 1.8.7であることに気がついた。すでに2.0系列がリリースされているというのに。ということで、ソースからビルドすることにした。

README.jaどおりに、zipを展開したディレクトリで、./configureを実行し、環境に合わせた Makefile を作らせる。次に make を実行してコンパイル、さらに make check で生成物のチェックを行う。途中でソース内で初期化されていない変数を使っているぞというような警告が出ていたが、ここまでは特に問題なく進んだ。

最後のステップ、make install を実行すると、

make: *** [do-install-all] Error 1

ツレナイお言葉だ。ぐぐってみたがイマイチわからない。カレントディレクトリに出来ている実行ファイルを動かしてみると

ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin11.4.2]

問題ない。make install というのは単純にファイルを適切な場所へコピーしているだけなのに……。

コピーしているだけ? そう、sudo make install しなければいけなかったのだ。なんだ馬鹿馬鹿しい。

さて、ruby -v で実行してみる。やれやれ、まだ 1.8.7 が動いている。which ruby の結果は、/usr/bin/ruby だ。2.0 はいずこに?と探すと、/usr/local/bin/ruby だった。path の順番でこうなるわけだ。
でも、/usr/bin/ruby はシンボリックリンクだから、リンクを貼り直してやればよさそうだ。gemなんかもそうしないといけないのだろう。面倒くさい。

追記:

/usr/binに作られていたrubyがらみのシンボリックリンクを、以下のように全て張り直した。

sudo ln -sf /usr/local/bin/erb /usr/bin/
sudo ln -sf /usr/local/bin/gem /usr/bin/
sudo ln -sf /usr/local/bin/irb /usr/bin/
sudo ln -sf /usr/local/bin/rake /usr/bin/
sudo ln -sf /usr/local/bin/rdoc /usr/bin/
sudo ln -sf /usr/local/bin/ri /usr/bin/
sudo ln -sf /usr/local/bin/ruby /usr/bin/
sudo ln -sf /usr/local/bin/testrb /usr/bin/

投稿者:

azira

何でもやったけれど、みんな中途半端なプログラマくずれの一匹うさぎ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>