無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

MacでRubyの開発環境を整える覚え書き 始動編

ブログ放置気味で全く書いていませんでしたが、昨年の10月にMacbook Airを購入して、開発環境構築を細々と調査してました。
ええ、いい加減まともにRubyの勉強しないと何時まで経っても覚えれないので。
正直、普段から使ってないと簡単に記憶の彼方へ飛んでいってしまうので、やったことをメモがてら書いておきます。

Rubyのインストール
OSXにはデフォルトでRubyがインストールされています。
しかしそのバージョンはruby 1.8.7 (2009-06-12 patchlevel 174)で、2011/05/09時点でのruby 1.9.2-p180と比較してもずいぶん前のバージョンになります。
そのままでも使えないこともありませんが、どうせやるなら最新版を、と思ったので入れ直すことに。

Rubyのインストールにはいくつかの方法があります。

  • ソースコードを引っ張ってきて自分でビルド
  • バイナリを引っ張ってきてインストール
  • MacPortsと呼ばれる、パッケージ管理ツールを利用する
ほかは大方やったことがあるため、一番最後のMacPortsを使うやり方でインストールしました。
MacPortsのインストール方法は、他に詳しく解説されているサイトがあるので割愛します。

今回やりたいことはWinodws、Linuxでも動作するGUIアプリを作成すること。
rubyGUIを書くときにはTkと呼ばれるものを使用します。
これは、複数の開発環境で仕様できるウィジェット開発ツールで、これを使うと複数の言語で動作するGUIを作成することができます。

MacPortsでインストールを行うには、以下を実行します。
port install ruby19 +mactk

コマンドの後ろの”+mactk”というのは、Rubyのインストールオプションです。
参考にしたサイトでは、+thread_hooksを指定していたのですが、portのインストールオプションを調べてみると、以下のようになります。
port variants ruby19
ruby19 has the variants:
c_api_docs: Generate documentation for Ruby C API
mactk: Build using Mac OS X Tk Framework
* conflicts with tk
nosuffix: Don't add the 1.9 program suffix to the executables. Note: that
makes the port conflict with ruby (1.8), rb-rubygems, and rb-rake
ports.
tk: Build using MacPorts Tk
* conflicts with mactk
universal: Build for multiple architectures

上を見ていただけるとわかるとおもうのですが、”thread_hooks”が存在しません。
ruby1.9をインストールする際には使用できないようです。

おや?なんか真ん中に良くないメッセージが。
”gemでインストールしてる1.8のtkと競合するので、1.9のvariantsにtk追加できないよ。”って言われているようです。
でもそんなの知らない(・ω・) トラブル覚悟でそのまま強行。

そのまましばらく待ちます。
時間がかかる+普段熱くならないAirが発熱し始めます。
---> Fetching ruby19

      • > Attempting to fetch ruby-1.9.2-p180.tar.bz2 from ftp://ftp.iij.ad.jp/pub/lang/ruby/1.9
      • > Verifying checksum(s) for ruby19
      • > Extracting ruby19
      • > Configuring ruby19
      • > Building ruby19
      • > Staging ruby19 into destroot
      • > Installing ruby19 @1.9.2-p180_0+mactk
      • > Activating ruby19 @1.9.2-p180_0+mactk
      • > Cleaning ruby19


あれ?普通にインストール終わった?

ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

1.8.7のままだった(´・ω・`)切り替えどうやるのかなー。
とりあえず今日はここまで。