`
phoenix520
  • 浏览: 142312 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

将Ruby打包成exe可执行文件

    博客分类:
  • Ruby
阅读更多

目前将Ruby代码打包成exe可执行文件主要有3种方式:

  1. rubyscript2exe,年久失修,打包出来的文件太大,不对源文件进行加密,运行时将源码释放到一个临时目录后执行;
  2. exerb,已经支持Ruby1.8.7和1.9,可以设置程序的版本信息,图标等,打包后的可执行文件可以用UPX压缩,功能很强大,执行时不释放源文件出来,对程序加密较好,但是对waitr这种需要调用DLL的gem支持不是很好,无法进行打包处理;
  3. ocra,原理和 rubyscript2exe差不多,可定制性不强,但是对 Ruby1.8.7和1.9以及 waitr都提供很好的支持,而且打包的时候会对文件进行压缩,打包后程序的大小可以接受,程序图标和版本信息暂时不能定制,但是默认图标比 rubyscript2exe要好看,如果对源码保护要求不是很强,用exerb又无法成功打包的时候,可以采用这个。

下载最新版exerb 安装见其官方说明。

先执行mkexy main.rb,会自动生成一个main.exy的配置文件;

打开生成的配置文件,加入下面的代码:

resource:
  icon:
    - width : 16
      height: 16
      color : 8
      file  : 19lou.ico
    - width : 32
      height: 32
      color : 8
      file  : 19lou.ico
  version:
    file_version_number   : 1.2.3.4
    product_version_number: 5.6.7.8
    comments              : Comments Field
    company_name          : Company Name Field
    legal_copyright       : Legal Copyright Field
    legal_trademarks      : Legal Trademarks Field
    file_version          : File Version Field
    product_version       : Product Version Field
    product_name          : Product Name Field
    file_description      : File Description Field
    internal_name         : Internal Name Field
    original_filename     : Original Filename Field
    private_build         : Private Build Field
    special_build         : Special Build Field

这些代码用来配置生成的exe文件的一些信息,如图标、版本等;

然后执行exerb main.exy,生成最终的可执行文件,该可执行文件比较大,可以使用UPX进行压缩,压缩率可以达到70%以上。

 

安装和使用ocra都比较简单,直接gem install ocra

cd到代码目录,执行ocra 你的.rb,然后开始打包。

分享到:
评论
2 楼 mark666 2010-06-03  
加icon 时出现上面的 是怎么回事?
1 楼 mark666 2010-06-03  
c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource/group_icon.rb:61:in `pack': inva
d bit count -- 32 (RuntimeError)
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource/group_icon.rb:40:in
pack'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource/group_icon.rb:40:in
collect'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource/group_icon.rb:40:in
pack'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource.rb:184:in `to_resou
e_entry'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource.rb:106:in `pack'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource.rb:105:in `each'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/resource.rb:105:in `pack'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/win32/resource_directory.rb:
:in `initialize'
         ... 9 levels...
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/executable.rb:40:in `pack'
        from c:/ruby/lib/ruby/site_ruby/1.8/exerb/executable.rb:60:in `write'
        from c:/ruby/bin/exerb.bat:89:in `main'
        from c:/ruby/bin/exerb.bat:196

相关推荐

    ruby-pack ruby打包工具

    一个将ruby脚本打包成二进制可执行文件的工具,包含源码和一个编译完成的二进制文件!支持跨平台编译,在windows、macOS、linux上均可以成功编译运行!包里的二进制文件是在ubuntu16.04中编译成功的版本!

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

    在Ruby on Rails开发的世界里,将Web应用程序打包成可执行文件是一个常见的需求,尤其是在需要部署到没有Ruby环境的服务器或者希望提供用户一个独立运行的软件时。标题中的“终于知道怎么把rails Web程序打包成可...

    RUBY 切换EXE

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

    ruby-packer:将Ruby应用程序打包到单个可执行文件中

    将您的Ruby应用程序打包到一个可执行文件中。 产品特点 使用Ruby Packer编译任何项目都只需不到5分钟的时间。 只要您在纯Ruby中工作,无论您如何开发,都无需修改应用程序中的任何一行代码! 工作于 视窗, macOS...

    rubyscript2exe-0.5.3.tar.gz

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

    修改的rubyscript2exe

    标题中的“修改的rubyscript2exe”是指一个经过修改的Ruby脚本到EXE转换工具,它允许开发者将他们的Ruby程序编译成Windows可执行文件(EXE)。这个工具对于那些希望在不安装Ruby环境的Windows系统上运行Ruby应用程序...

    Ruby 应用安装程序制作工具 Ocra.zip

    Ocra,全称为"One-Click Ruby Application",是专门为Ruby开发者设计的一个工具,它允许用户将Ruby源代码打包成独立的可执行文件,使得在没有Ruby环境的Windows系统上也能运行Ruby应用程序。这一特性对于分发和部署...

    软件打包工具 打包 工具 各种语言打包工具

    - **Python**: 对于Python项目,常见的打包工具有`setup.py`与`pip`,它们可以创建`.whl`和`.tar.gz`格式的源码包,以及`.exe`(通过PyInstaller或cx_Freeze)和`.msi`(通过py2exe)等可执行文件。 - **Java**:...

    绿化ruby193

    1. **bin**:这是存放可执行文件的目录,如`ruby.exe`,它是Ruby解释器的入口,用于执行Ruby代码。此外,还有一些其他的命令行工具,如`gem`,用于管理Ruby的扩展库(Gems)。 2. **include**:这个目录包含Ruby的...

    在Mac OS X系统上打包Python程序.docx

    PyInstaller 是一个非常popular的 Python 程序打包工具,可以将 Python 程序打包成可执行文件。PyInstaller 提供了多种打包方式,包括窗口模式和控制台模式。可以使用 PyInstaller 将 Python 程序打包成可执行文件,...

    ruby-1.8.7-p72-i386-mswin32.zip

    4. **bin**:这是存放可执行文件的地方,包括Ruby解释器(如`ruby.exe`)以及其他可能的命令行工具,比如用于编译Ruby源代码的`rubycc`或用于打包和管理Gem的`gem`。 5. **doc**:这个目录可能包含Ruby的文档,如...

    Ruby-Guard一个命令行工具用于来轻松地处理在文件系统中的修改事件

    在Ruby开发环境中,频繁的手动执行测试、编译或打包等操作会消耗大量时间。Ruby-Guard 的出现就是为了自动化这些过程,让开发者可以专注于编写代码,而不用担心遗漏任何可能因文件更新而需要处理的事情。其核心功能...

    rubyinstaller-devkit-3.0.0-1-x64.exe

    它将Ruby解释器、标准库和其他必需组件打包成一个单一的可执行文件,使得开发者无需复杂配置即可在Windows上运行Ruby程序。`rubyinstaller-devkit-3.0.0-1-x64.exe` 是RubyInstaller的特定版本,其中包含了Ruby ...

    exerb 5.3.0

    Exerb正是解决了这个问题,它允许开发者将Ruby应用程序打包成单一的可执行文件,方便分发和执行。 Exerb的工作原理是通过将Ruby代码和必要的库打包到一个自包含的可执行文件中,这样,当用户运行这个文件时,内部的...

    ruby-2.6.9.tar.gz

    3. 编译:执行`make`命令,这将编译源代码生成可执行文件。 4. 安装:使用`make install`将编译好的Ruby二进制文件安装到系统的指定路径。 5. 验证:最后,你可以通过`ruby -v`检查Ruby是否成功安装,并显示版本信息...

    commander:Ruby命令行可执行文件的完整解决方案

    Ruby命令行可执行文件的完整解决方案。 Commander弥补了您熟悉和喜爱的其他与终端相关的库(OptionParser,HighLine)之间的鸿沟,同时提供了许多新功能和优雅的API。 特征 比烘烤饼干更容易 使用OptionParser解析...

    ruby-2.6.5.tar.gz

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

    ruby _1.9.3 _gem环境

    - bin:包含Gem提供的可执行文件。 四、使用Gem 1. 安装Gem:使用`gem install <gem_name>`命令来安装特定的Gem。 2. 更新Gem:使用`gem update <gem_name>`来更新已安装的Gem至最新版本,或者`gem update --system...

Global site tag (gtag.js) - Google Analytics