WindowsでRuby/Tkを使うためのメモ

Ruby-mswin32 + ActiveTclの場合

ActiveStateからActiveTcl for Windows 8.4をダウンロードしてインストールする。
8.5ではなく8.4を選ぶこと。(現在のRuby-mswin32(ruby-1.9.2-p136-i386-mswin32)がtk84.dllをリンクするようになっていた)
http://www.activestate.com/activetcl/downloads
C:\Tclにインストールしたとして、C:\Tcl\binにパスを通す。

rubyはmswin32版を使用すればtcltklib.soが同梱されている。
http://www.garbagecollect.jp/ruby/mswin32/ja/download/release.html
ダウンロードして適当なディレクトリに展開してbinにパスを通す。

Cygwinの場合

CygwinのTcl/Tkが8.5.11からXサーバーに依存するようになって使いづらくなってしまった。(このせいでCygwinのgitでgitkが使えなくなったという人もいたらしい)
http://cygwin.com/ml/cygwin/2012-02/msg00115.html

Cygwinのsetup.exeで以下のパッケージをインストールする。依存するパッケージも一緒にインストールする。

.bashrcに以下のように環境変数DISPLAYを追加する。Windows環境変数でもいい。
export DISPLAY=':0.0'

Cygwinを起動してホームディレクトリでtouch .startxwinrcで空の.startxwinrcファイルを作成する。startxwinでxtermを起動しないようにするため。
startxwinを実行する。
wishを実行してウィンドウが表示されたらTcl/TkはOK。
ruby -rtk -e 'p Tk::TK_VERSION'を実行してTkのバージョンが表示されたらRuby/TkはOK。

ただCygwin版はRuby/Tkを使う前にstartxwinの実行が必要だし、ディレクトリ指定にC:\hoge\piyoという書き方が使えないのでRuby-mswin32 + ActiveTclを使ったほうがいいかもしれない。