xavier 2007-7-29 14:04
RubyScript2exe vs Exerb(4.24更正错误)
RubyScript2exe和Exerb都是把.rb(.rbw)文件"变"成windows环境下可独立运行的exe文件的工具
这两个工具我都用了一段时间,下面把我的心得和大家分享一下。
一、安装
1.RubyScript2exe的安装方式非常简单,直接通过gem就可以[code]gem install rubyscript2exe[/code]2.Exerb不能通过gem安装,不过安装方式也十分方便。
首先到[url=http://exerb.sourceforge.jp/]exerb的官方网站[/url][/color]下载exerb.[/color]链接在页面中间那个位置。
找不到的化(汗..)请 [url=http://downloads.sourceforge.jp/exerb/25874/exerb-4.2.0.zip]点击下载exerb[/url]
解压下载下来的zip文件,用命令行进去运行里面的setup.rb即可[code]ruby setup.rb[/code]二、使用
1. 使用RubyScript2exe,只需要打开命令行,输入[code]rubyscript2exe 文件路径[/code]就可以了
它会先执行一遍程序,过程中寻找程序都用到了什么文件,等待一段时间(挺长的)后,会在与.rb 文件相同的目录下生成一个
同名exe文件
2.Exerb相比rubyscript2exe来说功能就强大的多了。
直接在命令行下输入[code]exerb 文件路径[/code]的话可以得到一个单纯由你的rb文件生成的exe,体积很小,但只能在装有ruby的机器上运行。
如果想要一个
可以独立运行的exe的话需要这么做[code]mkexy 文件路径
exerb 生成的.exy文件的路径
[/code]可以打开.exy文件看一下,前面有这么一段
general:
startup: hello.rb
core: cui
kcode: none
如果我们把cui改称gui,就可以用来生成gui程序了~,此外还可以在kcode里改变文件的编码。
三、比较
1.难度:都很简单,两者相当
2.功能:自然是exerb的功能更多一点
3.速度:有些时候是用rubyscript2exe的速度让人难以忍受(至少让我难以忍受),而exerb就快的多了,一般虽然需要两步完成(mkexy,exerb)但还是要比rubyscript2exe快不少
4.大小:同样一个rb文件,通常是exerb生成的exe要小一些。(原因不明)
5.其他:经尝试只有用exerb的mkexy功能才能生成一个完美的gui程序。
把.rb改成.rbw然后用rubyscript2exe也可以,但是运行的时候会先出现一个命令行窗口,然后才是你的程序......
[color=Blue][size=4][更正]rubyscript2exe生成gui程序可在执行时加上参数 --rubyscript2exe-rubyw即可[/size][/color]
经过多方面的比较,exerb从总体上来讲要比rubyscript2exe要优秀,
以上仅供参考,大家按照自己的需要来选择吧~
[[i] 本帖最后由 xavier 于 2008-4-24 17:28 编辑 [/i]]
drive2me 2007-7-29 14:53
好像exerb要好一些,那我就用exerb。
谢了!
admin 2007-7-30 08:53
集成了Ruby进去吗?不然还得客户端装ruby,益处不大。:D
xavier 2007-7-30 10:54
把你的程序里用到的ruby文件包含进去了,可以独立于ruby运行~
xavier 2007-8-28 18:17
汗....为什么"对不起,您的帖子从发表到现在已超过 60 分钟,不能再进行编辑,请返回。"
------------------------------------------------------------------------------------------------------
今天发现这两个程序都不会帮你把用到的图片,声音等外部文件打包进去。发布的时候自己带上就好~
shawncao 2008-4-27 19:28
今天试了下,遇到些问题。
使用exerb转换使用wxruby的gui程序时,mkexy xxx.rb正常。exerb xxx.exy也正常,但是运行xxx.exe时出现异常:xxx.rb:18: undefined method 'run' for Wxruby2::App (NoMethodError)
使用rubyscript2exe,倒是可以正常运行,但发现双击xxx.exe后启动时间很长。关闭程序也花很长的时间。而且硬盘狂闪。
补充一下,xxx.rb是wxruby自带的例子。
[[i] 本帖最后由 shawncao 于 2008-4-27 19:30 编辑 [/i]]
qwer1234 2008-6-19 10:53
一样的!wxruby官方例子出现运行时错误
我和楼上的一样阿!
版主可以出来解决一下马?
danny8376 2008-8-5 21:57
[quote]原帖由 [i]shawncao[/i] 于 2008-4-27 19:28 发表 [url=http://www.ruby-lang.org.cn/forums/redirect.php?goto=findpost&pid=14909&ptid=585][img]http://www.ruby-lang.org.cn/forums/images/common/back.gif[/img][/url]
今天试了下,遇到些问题。
使用exerb转换使用wxruby的gui程序时,mkexy xxx.rb正常。exerb xxx.exy也正常,但是运行xxx.exe时出现异常:xxx.rb:18: undefined method 'run' for Wxruby2::App (NoMethodError)
... [/quote]
既然不能用run
那就用下面的吧[code]class NewApp < App
def on_init
#run{#原本寫在這裡的內容}
#寫在這
end
end
NewApp.new.main_loop[/code]