Cygwin版Ruby1.6.2 インストール関連

このページは、Cygwin版Ruby1.6.2のインストールについてのページです。



概要

RS-Baseから呼び出される、CLAIMソケット通信を行うRS-Baseを使用するためには、CLAIMソケット受信rubyスクリプトをインストールする必要があります。
その際にrubyスクリプトを実行するRuby本体をインストールする必要があります。

ここでは、Cygwin版Ruby1.6.2をダウンロードし、インストールする方法を解説します。
なお、解説に使用するオペレーティングシステムはWindows2000 Professionalです。
WindowsXP Professional/Home Editionでは、環境変数の指定など、若干違いがあります。同様の設定はできるので、その点は置き換えて読んでください。

※Windows95/98/ME以前は解説しません
※cygwinにもrubyパッケージが存在しますが、バージョン1.6.xと細かな点で非互換部分があったり、バージョンが変わったりするため、使用しません。




必要なファイルのダウンロード

ここで、必要なファイルをダウンロードします。ダウンロードしたファイルを置く場所は適当でかまいません。(例えば「C:\download」など)


CLAIMインターフェースを動かすためには、まず、下記のファイルをダウンロードする必要があります。



上記の「Cygwin版Ruby」と「Cygwin」の圧縮ファイルを解凍するには、「*.tar.gz」形式のファイルを解凍できる解凍ソフトが必要です。
解凍ソフトには「eo」や「LHMelt+TAR32.DLL」を使用します。この文章では、「eo」を使った解凍方法を解説します。(すでにダウンロード済みであったり、別の解凍ソフトを使っている場合は、読み飛ばしてかまいません)
下記のサイトからダウンロードしてください。


eo(Vectorサイト)
http://www.vector.co.jp/soft/win95/util/se117996.html

Welcome to BEAMbitious Homepage!
http://member.nifty.ne.jp/beambitious/


下記のページでダウンロードをクリックしてください。



次のページでもダウンロードをクリックしてください。



すると、下記のようなページになり、自動的にダウンロードが開始します。

※ブラウザの設定によっては、自動的にダウンロードが開始しないことがあります。その場合は、ダウンロードページの真ん中に手動でダウンロードを行うためのリンクがありますので、リンクをクリックしてダウンロードしてください。




解凍ソフトのインストール

Cygwin版RubyとCygwinのファイルをダウンロード後の「.tar.gz」形式のファイルを解凍するためには、解凍するためのソフトウェアが必要になります。
ここでは、解凍ソフトのひとつである「eo」のインストール方法を解説します。
もし、別の解凍ソフトを使い、すでにインストール済みであれば、読み飛ばしてかまいません。実際の解凍の段階で、eoを使った「.tar.gz」形式のファイルの解凍方法を解説しますが、別の解凍ソフトを使うのであれば、読み替えて解凍してください。





eoのインストール

まず、解凍ソフト「eo」のインストール先を決めてください。たとえば、「C:\Program Files\eo」や「C:\WIN32APL\eo」などです。
決めましたら、ダウンロードしたディレクトリから、eoのインストールプログラムを実行するため、eo***.exe(例では「eo152.exe」)をダブルクリックしてください。



インストールプログラムを実行しますと、下記のように表示されます。インストール先が表示されているとおり「C:\Program Files\eo」でよろしければ、ディレクトリの指定はそのままで、「インストール」ボタンをクリックしてください。(インストール先を変更したい場合は、参照ボタンを押して指定したり、直接入力して、インストール先ディレクトリを指定してください)



インストールプログラムによるインストールが完了しますと、下記のように表示されます。「OK」ボタンを押して、インストールプログラムを終了させてください。



次に、下記のような画面が表示されます。これから、圧縮ファイルに対する関連付けなどのセットアップを行います。「次へ(N)>」ボタンをクリックして進めてください。



次に、解凍先の指定画面になります。デフォルトは下記のように、デスクトップに解凍するような指定になっています。



もし、圧縮ファイルと同じ場所に解凍するのであれば、下記のように「アーカイブと同じ」にオプションボタンを付けてください(後述の解凍先は、アーカイブと同じであることを前提に解説します)。解凍先を指定しましたら、「次へ(N)>」ボタンをクリックしてください。



次に、デスクトップへアイコンを置いたり、右クリックのメニューに登録等を行うかの指定を行う画面になります。デフォルトではすべてチェックが入った状態になっています。不要な項目があれば、チェックを外してください。設定が完了しましたら、「次へ(N)>」ボタンをクリックしてください。



次に、圧縮ファイルに対して(ダブルクリックした時に、eoが解凍するように)関連付けを行うかを指定する画面が表示されます。



ここで、「関連付けを行う」にチェックを付けてください。なお、各種ファイルに対して関連付けを行いたくない場合には、チェックを外してください。関連付けの指定が完了しましたら、「次へ(N)>」ボタンをクリックしてください。



関連付けで「次へ(N)>」ボタンをクリックしますと、下記のように設定完了のメッセージが表示されます。「完了」ボタンをクリックして、セットアップを完了してください。



セットアップが完了しますと、自動的にヘルプが起動します。いまはヘルプを参照しない場合、ヘルプの参照が完了しましたら、閉じてください。



「C:\Program Files\eo」にインストールしますと、エクスプローラで「C:\Program Files」に「eo」ディレクトリが作成され、その中にいくつかファイルが作成されているのがわかると思います。このうちの「eo.exe」が解凍プログラム本体で、「eo.hlp」がヘルプファイルです。(下記画面にある「eo_ctx.dll」「eo_dnd.dll」は、本体プログラムから呼び出されるDLL(DynamicLinkLibrary)で、「eo.GID」「eo.cnt」は、ヘルプ表示で使われるファイルです)



このディレクトリにある「eo.exe」をダブルクリックして起動しますと、環境設定画面になります。(環境設定を行いたい場合は、ヘルプを参照してください。通常は起動時のままで大丈夫です)





cygwinのファイルのコピー




setup.exeの実行

まず、cygwinのサイトからダウンロードした「setup.exe」をダブルクリックしてください。



すると、まず次のような画面が表示されます。「次へ(N)>」ボタンをクリックして進めてください。



次に、下記のような画面が表示されます。ここで「Download from Internet」のオプションボタンをクリックしてください。



Download from Internet」のオプションボタンをクリックしましたら、「次へ(N)>」ボタンをクリックして進めてください。



次に、解凍先のディレクトリの指定画面になります。ここで、ダウンロードしたファイルを書き込む場所を指定します。この例では、「setup.exe」を置いた「C:\download\cygwin」に書き込むようにします。指定しましたら、「次へ(N)>」ボタンをクリックして進めてください。



次に、ダウンロードする際の接続方法を指定します。通常は「Direct Connection」をクリックして選択します。もしも、プロキシを設定していたり、通信がうまくいかない場合は、他のオプションを選択してください(「Direct Connection」でうまくいかない場合は、ネットワーク担当者と相談してください)。選択しましたら、「次へ(N)>」ボタンをクリックして進めてください。



「次へ(N)>」ボタンをクリックしますと、一瞬下記のような画面が表示されます。



次に、下記のようなサイト一覧の画面が表示されます。ここで、ダウンロードを行うサイトを指定してください。



例えば、「ftp://ring.ip-kyoto.ad.jp/」を選択する場合は、下記のような選択状態にします。ダウンロードするサイトを選択しましたら、「次へ(N)>」ボタンをクリックして進めてください。



「次へ(N)>」ボタンをクリックしますと、一瞬下記のような画面が表示されます。



次に、インストールするパッケージの一覧画面が表示されます。



ここで、「Category」の「+ All ○ Default」の「Default」をゆっくりと何回かクリックしてください。すると、「Default」の部分が何回か切り替わります。この部分を「Uninstall」の状態にしてください。



次に、「Category」の「 + Base ○ Uninstall」の「+」をクリックしてください。すると、Baseカテゴリが展開され、下記のように表示されます。



ここで、少し下にスクロールさせてください。すると、下記のように「Package」のところに「cygwin」が表示されます。



ここの箇所で右スクロールさせますと、「cygwin: The UNIX emulation engine」と表示されているのがわかります。



「cygwin」パッケージの「New」の項目に「○Skip」と表示されているはずです。この部分をクリックして「○Skip」以外になるようにしてください。(下記は1.5.10-3を選択した例です)

※ここで、バージョンが複数表示されることがあります。基本的に古いバージョンの方が比較的安定していると思われます(ただし、バージョン1.5.9-1では、ファイル作成について一部問題があるようです)。この部分については、最新のものか、比較的安定している物を使うかは、各自で決めてください。
※なお、「New」項目の隣に「Bin」「Src」という項目があります。これは、「Bin」にチェックを入れるとバイナリデータ(実行プログラム等)を、「Src」にチェックを入れるとプログラムソースをダウンロードします。ここでは、「Bin」にチェックが入っているので、バイナリデータをダウンロードすることになります。


上記のパッケージ選択の作業が終わりましたら、「次へ(N)>」ボタンをクリックしてください。


すると、下記のようなダイアログが表示され、パッケージのダウンロードを開始します。


※時々、ダウンロードに失敗することがあります。その場合は、再度同じように作業してください。


ダウンロードが完了しましたら、下記のように表示されます。「OK」ボタンをクリックしてください。


以上で、ファイルのダウンロードは完了です。

すると、途中のダウンロード先ディレクトリの配下に、ディレクトリが作成されているはずです。この中に、Cygwin版Rubyの実行に必要な「cygwin1.dll」が入っている圧縮ファイルがあります。





ダウンロードしたファイルの解凍

作成されたディレクトリは、下記の画面のとおり、urlの名前を含めたような名前で作成されます。



このディレクトリの中に、ダウンロードした「cygwin」パッケージが入っています。
「cygwin」パッケージは、作成されたディレクトリの下にある「release\cygwin」の中に「cygwin-*.*.*-*.tar.bz2」というファイル名で入っています。下記の画面では、ダウンロード時に「1.5.10-3」を指定した場合の画面です。



ここで、「cygwin-*.*.*-*.tar.bz2」ファイルを解凍します。.tar.bz2ファイルをダブルクリックしてください。(ここでは「cygwin-1.5.10-3.tar.bz2」というファイルを解凍します)


すると、次の画面のように、ファイルの解凍が始まります。(ダイアログの「eo 進行状況」と書いてあるとおり、ここで「eo」が実行されています)





解凍が終わりますと、ディレクトリが作成され、下記の画面のように、作成されたディレクトリが開かれます。



開かれたウインドウを閉じると、圧縮ファイル名の「.tar.bz2」の拡張子を除いた名前で作成されたディレクトリが確認できます。



この中の「cygwin-*.*.*-*\usr\bin」の中に「cygwin1.dll」ができているのがわかります。このファイルが、Cygwin版Rubyの実行に必要になります。



「cygwin1.dll」をあとでコピーしやすいように、すぐにわかるディレクトリにコピーすると良いです。解説では、「C:\download」にコピーします。(コピーする時は、「Ctrl」キーを押しながら、コピー先のディレクトリへドラッグします。わからない場合は、単純にドラッグしてもかまいません)








Cygwin版Rubyのインストール




ダウンロードしたCygwin版Rubyの解凍

まず、ダウンロードしたCygwin版Rubyを解凍します。
Cygwin版Rubyをダウンロードしたディレクトリに移動し、ダウンロードした「ruby-1.6.2-i386-cygwin.tar.gz」をダブルクリックしてください。



すると、「eo」が起動し、解凍処理が開始します。



解凍作業が終わりますと、ディレクトリが作成され、自動的に作成されたディレクトリのウインドウが開きます。



開いたウインドウを閉じますと、「usr」ディレクトリが作成されたのがわかります。




Cygwin版Rubyのコピー

解凍したCygwin版Rubyを、実行するディレクトリの配下にコピーします。ここでは、「C:\ruby」にコピーします。別のディレクトリにコピーする場合は、後述の環境変数の定義・実行時のフルパスでの指定で、ruby.exeのディレクトリ指定を置き換えて解釈してください。


先ほど解凍したディレクトリの下に「usr」ディレクトリが作成されています。これをドラッグして、Cygwin版Rubyを置くディレクトリ(この場合「C:\ruby」)にコピー・または移動します。



コピーが終わりましたら、Cygwin版Rubyのインストールについては完了です。
Rubyの実行プログラムは、「usr\local\bin」の中にある「ruby.exe」です。(この例では「C:\ruby\usr\local\bin」にある「ruby.exe」です)




cygwin1.dllのコピー

Cygwin版Rubyを動かすには、cygwin1.dllがないと動きません。
もし、cygwin1.dllがない状態でruby.exeを実行させますと、下記のように表示されて、実行できません。



そこで、上記でダウンロードし、解凍しれたファイルの中のcygwin1.dllを、ruby.exeのあるディレクトリ(この例では「C:\ruby\usr\local\bin」)へコピーします。
Cygwinの解凍のところでわかりやすい場所へ待避したのでしたら、その場所からファイルをコピーしてください。(例では「C:\download」に待避した「cygwin1.dll」を、「C:\ruby\usr\local\bin」にコピーします)

※待避していない場合は、Cygwinを解凍したディレクトリにcygwin1.dllがあるはずですので、そちらからコピーしてください。


下記の画面のように「ruby.exe」と同じディレクトリに「cygwin1.dll」が置いてあれば、コピー作業は完了です。




環境変数の設定

次に、「ruby.exe」を実行できるように環境変数「path」を変更します。


コントロールパネルを開いてください。



コントロールパネルを開きましたら、「システム」をダブルクリックしてください。



すると、下記の画面になります。「詳細」タブをクリックしてください。



すると、下記のような画面になります。ここで、「環境変数(E)」ボタンをクリックしてください。


なお、WindowsXPで「詳細」タブをクリックしますと、下記のような画面になります。



すると、環境変数の設定ダイアログが表示されます。



ここで、下の「システム環境変数(S)」の「Path」をクリックして、選択状態にしてください。「Path」を選択しましたら「編集(I)」ボタンをクリックしてください。



すると、「システム変数の編集」ダイアログが表示されます。



ここで、変数値の最後に「;<ruby.exeが置いてあるフルパス;>」を加えてください。たとえば、「C:\ruby\usr\local\bin」に「ruby.exe」が置いてある場合、「;C:\ruby\usr\local\bin」を後ろに加えます。
Pathの設定が完了しましたら、「OK」ボタンを押してください。



「環境変数」ダイアログに戻りましたら、「OK」ボタンを押してください。



「システム」のプロパティに戻りましたら、「OK」ボタンを押してください。



最後に、環境変数を確実に反映するため、マシンを再起動してください。





マシンの再起動が終わりましたら、環境変数の設定は完了です。







実行確認

最後に、実際に動作するかを確認します。

rubyスクリプトを置くディレクトリを決め、下記のファイルを作成してください。
作成に使用するエディタは、メモ帳(notepad)でも、フリーソフトウェアのテキストエディタでもかまいません。

sample1.bat

@echo off

ruby.exe -Ks sample1.rb

pause


sample1.rb

#!/usr/bin/ruby

p 'Hello Ruby World'


sample2.bat

@echo off

ruby.exe -Ks sample2.rb

pause


sample2.rb

#!/usr/bin/ruby

# forkのテスト(windowsでの動作の確認)


pid1 = fork do
  puts '>Process1 Start'
  for a in 1..7 do
    sleep 1
    puts '>[' + String(a) + ']'
  end
  puts '<Process1 End'
end
pid2 = fork do
  puts ' >Process2 Start'
  for b in 1..5 do
    sleep 1
    puts ' >[' + String(b) + ']'
  end
  puts ' <Process2 End'
end
pid3 = fork do
  puts '  >Process3 Start'
  for c in 1..3 do
    sleep 1
    puts '  >[' + String(c) + ']'
  end
  puts '  <Process3 End'
end

Process.waitpid(pid1)
Process.waitpid(pid2)
Process.waitpid(pid3)

※ruby.exeの引数で指定している「-Ks」は、漢字コードをShiftJISとして解釈するという指定です。

作成した各ファイルの意味は、下記のとおりです。

sample1.bat - sample1.rbを実行するためのバッチファイル
sample1.rb - 「Hello Ruby World」と表示するrubyスクリプト
sample2.bat - sample2.rbを実行するためのバッチファイル
sample2.rb - fork命令を実行するrubyスクリプト


上記のファイルを作成しますと、ファイルを置いたディレクトリを開くと、下記のような画面になるはずです。




ここで、sample1.batをダブルクリックしてください。正常な場合、下記のように表示されます。



次に、sample2.batをダブルクリックしてください。正常な場合、数秒間実行後、下記のように表示されます。



rubyスクリプトがすべて正常に実行できましたら、rubyスクリプトのインストールは完了です。




追記

日医標準レセプトソフトで使用する「XML Parser」や「uconv」は、ベクターデザインで配布しているCygwin版Ruby1.6.2の中に入っています。ですので、標準の状態で実行が可能です。