`
zhanglun1225
  • 浏览: 57307 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

将 Ruby 脚本转换成 Windows 下的可执行(.exe)文件

    博客分类:
  • ruby
阅读更多

  自从关注并使用 Ruby on Rails 以来,也对 Ruby 语言本身很感兴趣,并经常尝试用它写一些日常使用的小工具脚本。虽然自己使用很方便,但要分享给不用 Ruby 的朋友就比较麻烦了。

  但是知道 Exerb 后,事情就变得简单了。Exerb 是一个可以把 Ruby 脚本以及其依赖的 Ruby 扩展库转换成 Windows 下的单个的可独立运行的可执行文件的工具(这么长的一句话读起来是不是很有想扁我的冲动?:p),到 Exerb Project 的主页 下载安装包解开并执行里面的 setup.rb 即可完成安装。

  用法也很简单,先执行 mkexy your_script.rb,让 mkexy 启动你的脚本并运行,这期间它会自动探测出 your_script.rb 所依赖的类库文件以及扩展库文件,并在 your_script.rb 结束运行后创建一份清单 your_script.exy,然后执行命令 exerb your_script.exy 即可生成 your_script.exe。OK,现在可以轻松地把你的 Ruby 脚本分享给朋友们了。(注1)

  看到这里,也许你会跟我一样想,哇哈哈哈,有了这个工具,用 Ruby 来做 GUI 的小工具就变得有意义了啊。没错,对依赖 fxruby、wxruby 的 Ruby GUI 脚本也能正常的使用 Exerb 完成转换 (注2) (注3)。但是,由于 Exerb 会把 fxruby/wxruby 的运行库嵌入到 .exe 文件里,生成的 .exe 文件都非常大,fxruby 的在 9MB 左右,wxruby 的 11MB 左右。对于一个功能简单的小工具来说,这个程度的体积显然是很多人不能接受的。

  事实上,已经有了一个 GUI toolkit 运行库很小,VisualuRuby,虽然它是 Windows Only 的,虽然它现在在 Vista 上还有点小问题。不过这又是另外一个话题了,我会在下一篇 blog 里继续聊。

  注1: 在这之前也许你需要用 upx 压缩一下生成的 .exe 文件,因为它确实比较大,一个最简单的 Hello world 也有 1.4MB 左右。

  注2: Tk/Gtk/FLTK 我没有试过,对 Tk 不感兴趣,Gtk 在 Windows 下的运行库太过庞大,FLTK 则是因为找到的 ruby-fltk 在 Windows 下的二进制发行版依赖的 Ruby 版本太老,源代码发行版还没来得及尝试自己编译。

  注3: 对于 GUI 脚本,使用 exerb -c gui your_script.exy 可以避免生成的可执行文件运行时带有 Windows 命令行窗口。

分享到:
评论
2 楼 zhanglun1225 2012-01-04  
sevk 写道
puts 'hello world'
sleep 5 #显示5秒再exit

谢谢。。
1 楼 sevk 2011-11-24  
puts 'hello world'
sleep 5 #显示5秒再exit

相关推荐

    ruby脚本转二进制可执行程序工具

    这是一个将ruby脚本转换成二进制可执行文件的工具,使用简单方便,功能强大,解压编译后生成rubyc可执行程序!转换ruby脚本时 使用rubyc 脚本.rb即可,可以自动检测依赖关系!使用非常方便!

    rubyscript2exe-0.5.3.tar.gz

    描述中提到,“该工具可以将ruby脚本转换成exe可执行程序”,这意味着rubyscript2exe是一个Ruby到Windows可执行文件的转换器。在软件开发中,将脚本语言(如Ruby)的代码转换为独立的可执行文件(如.exe)可以帮助...

    RUBY 切换EXE

    为了解决这个问题,我们可以使用特定的工具将Ruby脚本转换为独立的可执行文件(EXE),这样用户无需安装Ruby环境也能直接运行。标题提到的“RUBY 切换EXE”就是指的这个过程。 ExeBundler(或Exerb)是这样一个工具...

    jdk-6u45-windows-x64.exe

    1. **改进的动态语言支持**:JDK 6引入了JSR 223(Scripting for the Java Platform),允许Java应用直接执行脚本语言,如JavaScript、Ruby和Python。 2. **增强的Swing组件**:Swing库得到升级,提供了更好的UI...

    修改的rubyscript2exe

    2. **exe**: 指出这个工具的主要功能是将Ruby脚本转换为Windows可执行文件,使得非开发人员也可以方便地运行程序,而无需了解或安装Ruby环境。 3. **ruby1.9**: 强调了对Ruby 1.9系列的支持,包括其特有的语法和改进...

    Appium-Server-GUI-windows-1.22.3-4

    "appium0214.exe" 文件名表明这可能是一个安装程序,用于在Windows系统上安装Appium Server GUI的特定版本。在下载并运行此文件后,用户将能够安装并开始使用Appium Server GUI,进行移动应用的自动化测试工作。 总...

    exerb-4.2.0

    Exerb是专为Ruby开发者设计的一款实用工具,它允许用户将Ruby脚本程序(.rb文件)转换成可执行的Windows应用程序(.exe文件)。这一功能对于那些希望在不安装Ruby环境的Windows系统上运行Ruby代码的用户来说,非常...

    终于知道怎么把rails Web程序打包成可执行文件了

    `ruby2exe`是一个用于将Ruby脚本转换为Windows可执行文件的工具。它会把Ruby解释器、gem和其他依赖项打包在一起,生成一个可以在没有Ruby环境的电脑上运行的.exe文件。在使用`ruby2exe`时,你需要确保所有的gem都...

    ruby-2.6.5.tar.gz

    这将生成可执行文件和其他必要的组件。 5. **安装**:最后,使用`sudo make install`将编译好的Ruby解释器安装到你的系统路径中。这通常需要管理员权限。 在Ruby 2.6.5版本中,有几个值得注意的特性: - **性能...

    ruby-windows-64

    利用`win32-service` gem,可以将任何Ruby脚本转换为Windows服务。 9. **错误处理和故障恢复**: 集群中的每个节点都应有适当的错误处理和故障恢复机制。例如,当一个节点失效时,其他节点应能接管其工作负载。 10....

    Ruby-OpenPublisher将一个Markdown手稿转换成pdfepubmobi电子书的一系列Bash脚本工具

    标题中的“Ruby-OpenPublisher”是一个使用Ruby编程语言开发的工具,主要功能是将Markdown格式的手稿转换为PDF、EPUB和MOBI这三种常见的电子书格式。这种工具对于作者和出版者来说非常实用,因为它简化了从文本到...

    orac 1.3.2

    "orac 1.3.2"是一款专为Ruby开发者设计的工具,它允许用户将他们的Ruby脚本转换成可以在Windows操作系统上独立运行的可执行文件。这个过程通常被称为“打包”或“编译”,目的是使得不熟悉Ruby环境的用户也能在没有...

    最新版windows logstash-7.16.3-windows-x86_64.zip

    1. bin:存放可执行文件,如logstash.bat,它是Logstash的启动脚本。 2. config:包含Logstash的配置文件,如logstash.yml(全局配置)和logstash.conf(主要的处理管道配置)。 3. lib:包含了Logstash运行所需的库...

    logstash-7.17.9-windows-x86-64.zip

    - `bin/`:包含Logstash的可执行文件和脚本,如`logstash.bat`(Windows)和`logstash`(Unix-like系统)。 - `config/`:存储Logstash的配置文件,如`logstash.yml`(主配置文件)和`pipeline.conf`(默认管道配置...

    ruby-1.8.6.tar.gz 编译器

    编译器是将高级语言(如Ruby)源代码转换为机器可执行代码的软件。在Unix或类Unix系统中,编译Ruby 1.8.6通常涉及以下步骤: 1. **解压**:首先,你需要使用`tar -zxvf ruby-1.8.6.tar.gz`命令来解压缩文件。 2. **...

    exerb 5.3.0

    Exerb 5.3.0 是一个用于将Ruby脚本转换为可执行程序的工具,主要服务于那些希望在不依赖Ruby解释器的环境下运行Ruby代码的用户。这个工具的核心功能是将Ruby源代码编译成独立的二进制文件,使得用户可以在Windows等...

    luadec5.1_win32_bin

    1. lua.exe:这是Lua解释器的可执行文件,用于运行Lua脚本。用户可以直接通过命令行输入lua.exe及脚本文件名来执行Lua程序。 2. luadec.exe:作为主反编译工具,luadec.exe负责将luac编译的字节码文件解码为人类可...

    GraphicsMagick-1.3.33.zip

    2. **GraphicsMagick-1.3.33-Q16-win64-dll.exe**:这是为Windows 64位系统准备的二进制可执行文件,包含了动态链接库(DLL)。"Q16"表示它支持16位量子深度,这意味着它可以处理高达16位的颜色精度。这样的版本通常...

    Addison.Wesley.Ruby.Phrasebook.Sep.2008

    例如,可以使用`to_i`方法将字符串转换为整数,或者使用`to_f`将字符串转换为浮点数。此外,还可以使用`to_s`将任何对象转换为字符串形式。 **2. Working with Strings** 本章介绍了处理字符串的各种方法。在Ruby...

    TXT文本替换和转换DSL文件

    Abbyy_DLScompiler是一个可能用于处理DSL文件的工具,它可能用于将DSL代码转换成可执行的格式,比如创建一个识别引擎或自动化流程。Abbyy是一家知名的OCR(光学字符识别)和自然语言处理技术提供商,他们的工具可能...

Global site tag (gtag.js) - Google Analytics