将Ruby打包成exe可执行文件
目前将Ruby代码打包成exe可执行文件主要有3种方式:[*]rubyscript2exe,年久失修,打包出来的文件太大,不对源文件进行加密,运行时将源码释放到一个临时目录后执行;
[*]exerb,已经支持Ruby1.8.7和1.9,可以设置程序的版本信息,图标等,打包后的可执行文件可以用UPX压缩,功能很强大,执行时不释放源文件出来,对程序加密较好,但是对waitr这种需要调用DLL的gem支持不是很好,无法进行打包处理;
[*]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,然后开始打包。
页:
[1]