From: "上間 健" Date: 2006-09-30T21:07:20+09:00 Subject: [ruby-list:42850] Re: macosxでRubyインストール 塰  ありがとうございます。 天野竜太郎さま require "tk" が true を返しました。 上間です。 ___________________________ Welcome to Darwin! love:~ uema$ irb irb(main):001:0> require "tk" => true irb(main):002:0> ___________________________ 問題点は、require "tk" がエラーを返す。 ただ、それだけでした。 1、Tk/Tcl のみでウインドウが、出てただけでRubyでは、require "tk" が通りませんでした。 2、Aqua版のruby-tk 使えたらいいのにと思っていました。 --prefix=/usr としたのは、Rubyオフィシャルページのインストールガイドを参考にそうしました。 1.6は古いので上書きで良いと思いました。上書きしない方法も書いてあります。 http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=MacOS+X 今回、maxosx 10.3.9へ ruby-tk aqua のインストールに成功した手順を書きます。 天野さまの書いた通りにしました。 1  easypackageのtcl,tkは削除。 2  AquaTclTkのサイトからバイナリー(8.4.10)をダウンロードしてインストールする。 http://tcltkaqua.sourceforge.net/ 3  rubyのソースからのインストール。(オプションをいくつか付ける!) ________________________________________________________________ cd ~/Desktop curl -O ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz tar xfvz ruby-1.8.5.tar.gz cd ruby-1.8.5 ./configure --prefix=/usr --enable-shared --enable-pthread --enable-tcltk-framework make make test sudo make install make clean ________________________________________________________________ 4  パスは、以前、~/.bash_profile に書いたことはありますが    今回は、触りませんでした。現在の$PATHは、 _____________________________________ love:~ uema$ $PATH -bash: /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/local/ bin:/usr/X11R6/bin: No such file or directory _____________________________________ 5 ここでも、天野さまのいうとおり行うと、ウィンドウが開きました。成功です。   ありがとうございます。 _____________________________________ Welcome to Darwin! love:~ uema$ irb irb(main):001:0> require "tk" => true irb(main):002:0> Tk.mainloop ここで、ウィンドウが開きます。 _____________________________________ みなさんありがとうございます。 On 2006/09/30, at 18:52, Ryutaro Amano wrote: > 天野竜太郎です。 > 普段は、Mac OSXを使っています。(10.4.8です) > 上間さんは、10.3.9をお使いのようですが、現状ではAqua版のTkは使えないと思います。 > > 問題点を整理したいのですが、 > 1,今現在X11を立ち上げた後のunix版のtkは使えているわけですよね? > 2,しかしAqua版のruby-tkを使いたい。 > > ここまでは正しいのでしょうか? easypackageのtcl,tkは、通常のunix版ですので(使ったことはありませんが、そのはずです)、 > x11を起動後でないと使えません。x11を起動せずにターミナルから > require "tk"としてもエラーになるはずです。 > Aqua版のruby-tkを使うためには、 > > 1,自分でunix用のtcl,tkのソースコード(8.4.13)をダウンロードしてきて、Aquaとしてconfigure,make,make > installする。 > 2,AquaTclTkのサイトからバイナリー(8.4.10)をダウンロードしてインストールする。 > http://tcltkaqua.sourceforge.net/ > 3,ActiveTclのサイトからバイナリーをダウンロードしてインストールする。 > http://www.activestate.com/Products/ActiveTcl/ > ただし、こちらの8.5.0はベータでちょっと不安定のようです。安定版の8.4.13がどこにあるのか不明。 > > 以上いずれかを行った後、rubyをインストール(あるいはruby-tkのみコンパイルし直す)する必要があります。 > (10.4では最初からAqua形式でtcl,tkがインストールされていますので、ふつうにrubyをインストールしただけで、x11を起動するこ > となくAqua形式でruby-tkが使えますが、10.3ではtclしかインストールされていませんので、自力でAqua形式でtcl,tkをイン > ストールする必要があります。) > > 気になる点が少し。 > >>./configure --prefix=/usr --enable-pthread --enable-tcltk-framework > とのことですが、元々/usr以下にデフォルトのruby(1.6.8)がインストールされていたわけですから、そこへ1.8.5をインストールして > いいのかなという気がします。 > 普通は > --prefix=/usr/local > だと思うのですが、 > > で、Aqua版のruby-tkを使いたいということでしたら、 > > 1,いくつもtcl,tkがインストールされていても面倒なので、easypackageのtcl,tkは削除。 > 2,上記の1,2,3のいずれかの方法で、Aqua形式のtcl,tk(つまりFramework)をインストールする。 > 2,3のバイナリの場合は、tcl、tkが--enable-threadsで作られているようですので、ruby側で > --enable-pthreadは必須。1のソースからインストールした際は、tcl,tkに > --enable-threadsをつけない場合は、ruby側で--enable-pthreadはいりません。 > 3、rubyを > /configure --prefix=/usr/local --enable-shared --enable-pthread > --enable-tcltk-framework > でインストールする。(--enable-sharedはなくてもいいとは思うけど) > 4、~/.bash_profileなどを使い/usr/local/binが/usr/binより先に来るようにパスを通す。 > 5,ターミナルを再起動して、irbで、 > require "tk" > Tk.mainloop > で、Aquaのruby-tkが起動する(ただしターミナルウインドウの背後にくると思います) > > これでokだと思います。 > > Ryutaro Amano > wn9r-amn@asahi-net.or.jp > > >