ローカルサーバーとこのブログのサーバーは rvm で Ruby を使っています。
Mac で Ruby/tk を使って遊んでやろうと思い、まずは tk で GUI が動かせるか確認しようと下記のテストプログラムを実行しました。
require "tk"
TkButton.new(nil,:text => 'hello',
:command => proc{print "hellon"}).pack(:fill=>'x')
TkButton.new(nil,:text => 'quit',:command =>
proc{exit}).pack(:fill=>'x')
Tk.mainloop
ウインドウがポンと出るとワクテカしていると、下記のようなエラーが・・
tk が入っていない・・(^p^)
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require\': cannot load such file -- tk (LoadError)
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/custom_require.rb:36:in `require\'
from test.rb:1:in `
色々調べまくって、Rubyのインストール時に--with-tk
--with-tcl
のオプションが必要なことが判明
下記のように Ruby の再インストールを行いました。
rvm reinstall 2.0.0 --enable-shared --enable-pthread --with-tk --with-tcl
Rubyを再インストールして、tkが入ったか確認!
うん、ちゃんと入っている♪
% irb
2.0.0-p481 :001 > require "tk"
LoadError: cannot load such file -- tk
from /Users/bacchi/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require\'
from /Users/bacchi/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require\'
from (irb):1
今回は OSX 10.9 で設定を行いましたが、Unix 系や Linux 系の OS でも問題ないはずです。
また、Ruby1.9 や Ruby2.1 でも同じようにインストールすることで Tcl/Tk が使えるようになるはず。多分・・(^p^)