2011年11月30日 星期三

將ruby script編譯成exe檔

網路上有幾個將ruby script編譯成windows可執行的exe檔的工具,常見的包括exerb、rubyscript2exe,可是我自己實際使用,這兩個工具都有一些難解的bug,用了一下就放棄了。
最後找到ocra這個工具,它其實也有bug,但很好解決。
首先,請在command line用gem安裝ocra(我是用linux系統,windows下指令可能會有點不一樣,但應該大同小異,請自己變通)
gem install ocra
接著,用ocra compile你的.rb檔
ocra example.rb
第一次使用時,可能會產生下列錯誤(因為我已經解決下列錯誤,所以以下訊息是google來的)
Invalid gemspec in [c:/Ruby187/lib/ruby/gems/1.8/specifications/ocra-1.3.0.gemspec]: invalid date format in specification: "2011-06-19 00:00:00.000000000Z "
Invalid gemspec in [c:/Ruby187/lib/ruby/gems/1.8/specifications/win32-autogui-0.5.0.gemspec]: invalid date format in specification: "2011-08-17 00:00:00.000000000Z" 1.8.8
循著錯誤訊息的路徑(c:/Ruby187/lib/ruby/gems/1.8/specifications/)找到「ocra-1.3.0.gemspec」這分檔案後,把"2011-06-19 00:00:00.000000000Z"改成"2011-06-19"即可。
第二個錯誤訊息我自己其實沒碰到,是google時發現別人有這個問題。不過依法修改它的date format應該就沒問題了。

接著,重新執行第二個指令,應該就會產生一份example.exe
這份.exe檔在沒有安裝ruby的windows上也可以執行。

ps, 我用的ruby是1.8.7


沒有留言:

張貼留言