Exerbでexeを作成するときの手順メモ

元となるスクリプトが既に存在する状態から

レシピファイルの作成

> mkexy <スクリプト名>

または

> ruby -r exerb/mkexy <スクリプト名>

スクリプトを実行することで、レシピファイルが作成される。

レシピファイルからexeを生成

> exerb <スクリプト名>

でexeを生成
GUIのアプリケーションの場合は -c オプションで明示的にexerbコアを指定する

> exerb -c gui <スクリプト名>

動作確認/レシピファイルの調整&exe再生成

上記で作成されたexeファイルを実行してみる。

ライブラリとかが足りないというようなエラーが出たら*1、レシピファイルを確認して、不足しているライブラリ等を追加してあげる。

nokogiriを使っている場合

たとえば、nokogiriを使ったアプリケーションをexe化したとき、以下のdllが存在しないということでエラーとなった。

  • libxml2.dll
  • libxslt.dll
  • libexslt.dll

そこで、レシピファイルを開いて、pathセクションに上記ファイルが存在するパスを追加

path:
  - c:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/nokogiri-1.3.2-x86-mswin32/ext/nokogiri

そして fileセクションに上記dllを追加

  libxml2.dll:
  libxslt.dll:
  libexslt.dll:

そうして、再度exeを再生成したら無事動かすことができた。

*1:mkexyによるレシピファイルの自動生成も完璧ではなく、実行ファイルに含めるべきファイルが足りない場合もある