打印

[技术介绍] RubyScript2exe vs Exerb(4.24更正错误)

本帖已经被作者加入个人空间

RubyScript2exe vs Exerb(4.24更正错误)

php?name=Ruby" onclick="tagshow(event)" class="t_tag">RubyScript2exe和Exerb都是把.rb(.rbw)文件"变"成windows环境下可独立运行的exe文件的工具
这两个工具我都用了一段时间,下面把我的心得和大家分享一下。

一、安装
  1.RubyScript2exe的安装方式非常简单,直接通过gem就可以

gem install rubyscript2exe


2.Exerb不能通过gem安装,不过安装方式也十分方便。
   首先到exerb的官方网站下载exerb.链接在页面中间那个位置。
   找不到的化(汗..)请 点击下载exerb
   解压下载下来的zip文件,用命令行进去运行里面的setup.rb即可

ruby setup.rb


二、使用
  1. 使用RubyScript2exe,只需要打开命令行,输入

rubyscript2exe 文件路径


就可以了
    它会先执行一遍程序,过程中寻找程序都用到了什么文件,等待一段时间(挺长的)后,会在与.rb 文件相同的目录下生成一个
    同名exe文件
   2.Exerb相比rubyscript2exe来说功能就强大的多了。
   直接在命令行下输入

exerb 文件路径


的话可以得到一个单纯由你的rb文件生成的exe,体积很小,但只能在装有ruby的机器上运行。
   如果想要一个
   可以独立运行的exe的话需要这么做

mkexy 文件路径
exerb  生成的.exy文件的路径
           


可以打开.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也可以,但是运行的时候会先出现一个命令行窗口,然后才是你的程序......
[更正]rubyscript2exe生成gui程序可在执行时加上参数 --rubyscript2exe-rubyw即可

经过多方面的比较,exerb从总体上来讲要比rubyscript2exe要优秀,

以上仅供参考,大家按照自己的需要来选择吧~

[ 本帖最后由 xavier 于 2008-4-24 17:28 编辑 ]
本帖最近评分记录
  • drive2me R币 +2 很有帮助。 2007-7-29 14:20

TOP

好像exerb要好一些,那我就用exerb。
谢了!
Flying Piggy...! 
天地人合一!

TOP

集成了Ruby进去吗?不然还得客户端装ruby,益处不大。:D
谢谢大家加入Ruby中文社区!
[寻找您身边的Rubyist.]

TOP

把你的程序里用到的ruby文件包含进去了,可以独立于ruby运行~

TOP

汗....为什么"对不起,您的帖子从发表到现在已超过 60 分钟,不能再进行编辑,请返回。"
------------------------------------------------------------------------------------------------------
今天发现这两个程序都不会帮你把用到的图片,声音等外部文件打包进去。发布的时候自己带上就好~

TOP

Rails程序有没有办法加密呢?
谢谢大家加入Ruby中文社区!
[寻找您身边的Rubyist.]

TOP

4.24更正错误
Digging ruby with Pickaxe,
Running agilely on rails

TOP

今天试了下,遇到些问题。

使用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自带的例子。

[ 本帖最后由 shawncao 于 2008-4-27 19:30 编辑 ]

TOP

一样的!wxruby官方例子出现运行时错误

我和楼上的一样阿!
版主可以出来解决一下马?

TOP

引用:
原帖由 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)

...
既然不能用run

那就用下面的吧

class NewApp < App
    def on_init
      #run{#原本寫在這裡的內容}
      #寫在這
    end
end
NewApp.new.main_loop


TOP

2008-12-02 10:11 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61