查看完整版本: RubyScript2exe vs Exerb(4.24更正错误)

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 分钟,不能再进行编辑,请返回。"
------------------------------------------------------------------------------------------------------
今天发现这两个程序都不会帮你把用到的图片,声音等外部文件打包进去。发布的时候自己带上就好~

admin 2007-8-28 20:09

Rails程序有没有办法加密呢?

xavier 2008-4-24 17:29

4.24更正错误

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]
页: [1]
查看完整版本: RubyScript2exe vs Exerb(4.24更正错误)