拡張ライブラリファイルを適切な場所に移動させたい
現在Miyakoでは、拡張ライブラリファイル(miyako_no_katana.so/.bundle)を、ベースディレクトリからlib/Miyakoにコピーしています。
さて、Rubygems対応にしたいときに、この動作をどのようにしようかと試行錯誤していました。
コレは、そのときのメモです。
あるとき、require_pathsを以下のようにすると、libディレクトリに拡張ライブラリファイルを勝手にコピーしてくれることが分かりました。
s.require_paths = ["lib"]
そこで、require_pathsを以下のようにしてみました。
s.require_paths = ["lib", "Miyako/lib"]
残念! ファイルはlibディレクトリのみにコピーされました。
それではと、require_pathsを以下のようにしてみました。
s.require_paths = ["Miyako/lib"]
インストールは・・・OK! Miyako/libディレクトリにコピーされました。
早速テスト・・・エラーOTL
ライブラリの検索ディレクトリがMiyako/libのみになってしまい、
require 'Miyako/miyako_no_katana'
が、Miyako/Miyako/miyako_no_katana.so(.bundle)を検索したためのようです。
これならどうかと、require_pathsを以下のようにしてみました。
s.require_paths = ["lib/Miyako", "lib"]
まず、インストールは・・・成功。
続いて、テスト・・・成功!
こうすることで、実行時にエラーを出さずに実行できるようになりました。
いやー、良かった良かった。
# 実は、予想よりかなりあっさり解決したので拍子抜けしてます・・・(^^;
(追記)このgemインストールテストは、VMWareWorkstation+Ubuntu9.04上で行っています。