Mac OSXで初めてのRubyを始めてみました

2008.11.10 / ruby

Rubyの勉強を始めてみたくなったので、O'REILLYの「初めてのRuby」 を購入してみました。MacPortsで最新版のRubyを導入しつつ、1章から読み進めているのですが、早速ハマったところがあるのでそのメモを残しておきたいと思います。

Ruby1.9の導入

MacPortsでruby19の名前でインストールできます。

“` sudo port -d install ruby19 ”`

/usr/bin/ruby には、元からインストールされているrubyが入っているので、これをMacPortsでインストールしたものと入れ替えます。(シンボリックリンク張り替えちゃったけどこれでいいのかな?ruby_selectみたいのないのかな)

“` cd /usr/bin sudo mv ruby ruby.org sudo ln -s /opt/local/bin/ruby1.9 ruby ”` “` ruby –version ”`

と、入力して

“` ruby 1.9.1 (2008-10-28 revision 19983) [i386-darwin9] ”`

こんなかんじの出力になればOKだと思います。

日本語(マルチバイト)の利用

1.5.4制御式のあたりについて。通常だとマルチバイト文字の利用でエラーがでちゃいます。たとえば

“` p "こんにちわ!こんにちわ!><” “`

で、

”` odd.rb:8: invalid multibyte char (US-ASCII) odd.rb:8: syntax error, unexpected $end, expecting keyword_end “`

などとエラー文が出力されてしまいます。 これは、次のように冒頭に利用するエンコード方式をコメントで書けばOK

”` #!/usr/bin/ruby “`

”` #!/usr/bin/ruby # coding: UTF-8 “`

に変更すればOK。

tkパッケージの利用

1.5.5のコールバックのあたりの話。実は冒頭のインストール方法だとtkパッケージがインストールされていないため、利用できません。(require文でコケる) なので、tkパッケージを有効にして入れ直します。variantsオプションで有効なインストールオプションを確認します。

”` $ port variants ruby19 ruby19 has the variants: universal c_api_docs: Generate documentation for Ruby C API tk: Build using MacPorts Tk mactk: Build using MacOS X Tk Framework “`

tk, mactkと似たようなものが2つあります。これ両方有効にしてインストールするとコケちゃいます。とりあえずmactkの方を有効にしてインストールしなおし。

”` sudo port install ruby19 +c_api_docs +mactk “`

ところがこれだとエラーでコケます。

Error: The following dependencies failed to build: doxygen graphviz pango urw-fonts

いろいろビルドに失敗しているみたいなので全部個別にインストール。

”` sudo port install urw-fonts sudo port install pango sudo port install graphviz sudo port install doxygen “`

この上で、もう一度インストールしなおし。

”` sudo port install ruby19 +c_api_docs +mactk “`

これで次のrequire文でコケません。

require "tk"

まとめ

ちょっとづつRubyもわかってきました。これから毎日1章づつくらいのペースで進めていきたいとおもいますよ!