Rubyをexe化するExerbで作ったexeがDLLがないとぼやくときの対処方法

nokogiriを使っている場合、以下のdllが存在しないということでエラーとなった。

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

そこで、レシピファイルを開いて、pathセクションに上記ファイルが存在するパスを追加(環境に合わせて書き換えてね)

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

fileセクションにdllを追加

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

これで再度exeをつくればOKとなった。

これでも実行すると

WARNIG: Nokogiri was built against LibXML version 2.7.3, but has dynamically loaded 2.6.27

ってでるけど無視中。

ネタ元