Ruby から Subversion を利用 on Windows
Ruby から Subversion を操作できるものが無いか探したところ以下のページを発見。
というわけで、ruby(ruby 1.8.6 i386-mswin32)でSubversionを操作できるライブラリがないかと調べてみるとドキュメント & ファイル: Windows Apache 2.2.xにsvn-win32-1.5.4_rb.zipがありました。 解凍したスクリプトとext配下のdllをC:\Ruby\lib\ruby\1.8\svnにコピーして使っています。
というわけで、早速ダウンロードしてインストールしてみたが動かない。
上記のページでは簡単に「スクリプトとext配下のdllをコピー」と書いてあるが、色々ためして以下のように配置するのが正しいようだと分かってきた。(常識かもしれんが・・・)
%RUBY_ROOT% +-- bin +-- doc +-- include +-- lib | +-- ruby | +-- 1.8 | +-- site_ruby | +--1.8 | +-- i386-msvcrt | | +-- svn | | +-- ext ← ここに dll を配置 | +-- svn ← ここにスクリプトを配置 +-- man +-- share
で、上記のように配置して
require 'svn/clinet'
とやると、エラーが発生する。
序数 XXXX がダイナミックライブラリ LIBEAY32.dll から見つかりませんでした。
「XXXX」は数字が入っている。ググると openssl のライブラリを入れろというページが見つかるが、bin 配下にすでにある。
どうやら、svn-win32-1.5.4_rb.zip と対応した dll じゃないとダメなようなので、再度ここ (tigris.org) から、svn の本体である svn-win32-1.5.4.zip をダウンロードし、以下の3つの dll を bin 配下にコピーすればやっとエラーが出なくなった。
- libeay32.dll
- ssleay32.dll
- libsasl.dll
続きは明日。