2009年8月3日月曜日

Win32-Serviceが欲しかったのでRubyGemsをインストール

RubyでWindowsサービスを作成しようと、Win32-Serviceをインストールしようとしたところ、RubyGemsが無いと面倒くさそうだったので、まずはRubyGemsをインストールすることにした。


09.08.03時点で最新のrubygems-1.3.5.zipをダウンロードしてきて解凍する。
コマンドプロンプトを開き、setup.rbを実行。
C:\Users\hatsune\Desktop\rubygems-1.3.5> ruby setup.rb


バージョンを確認して、
C:\Users\hatsune\Desktop\rubygems-1.3.5> gem -v
1.3.5

となれば、インストールに成功していると思われる。

あとは、好きなライブラリをgemsから持ってくることが出来る。
C:\> gem install win32-service



…と思っていても、上手くいかないことがあるのが普通


今回は、zlibとsslのライブラリが足りないと言われた。
Ruby-mswin32をそのまま使用している場合はまず発生すると思われる。

Ruby-mswin32のインストールを読むと、
http://jarp.does.notwork.org/win32/にライブラリがあるので、これをインストールしろ」とのこと。


仕方が無いので、ライブラリをインストール。
openssl-0.9.8d-1-mswin32.zip
zlib-1.1.4-1-mswin32.zipをダウンロードしてくる。
これを、フォルダ階層を維持しつつ、Rubyのバイナリがインストールしてあるフォルダにコピーする。
(\binはC:\Ruby\binへ、\libはC:\Ruby\libへ…という感じに)


これで実行できる…と思い、再度実行すると、今度はssleay32.dllが見つからないと言われた。
"ssleay32.dll"でググったところ、自分でOpenSSLをコンパイルするか、
OpenSSLのWindows用バイナリを配布してくれているサイトから持ってきて、
ssleay32.dllをコピーすればいいらしい。
(コンパイルするのは面倒なので、http://curl.haxx.se/download/openssl_w32vc6-0.9.8g.7zをダウンロード、インストールした。)


これでようやくRubyGemsが動き、Win32-Serviceをインストールすることが出来た。

0 件のコメント: