`
zhizedai
  • 浏览: 16788 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

rubyscript2exe 打包ruby application

    博客分类:
  • ruby
阅读更多
用rubyscript2exe 把一个ruby 程序变成exe 文件

1,下载rubyscript2exe.rb 文件
http://github.com/cowlibob/rubyscript2exe.git ,从这里下载的能用。
其它的有个错误
修改也可以:  621:
$0.replace(File.expand_path("./init.rb")) 改成 $_0 = File.expand_path("./init.rb")

2, 直接运行 ruby rubyscript2exe.rb xx.rb
   ........waiting
  你就能得到一个xx.exe

这是我写一个确定xml file 的header encoding 和文件内部encoding 是否相符的程序
里面用到
require 'csv'
require 'nokogiri'
require 'UniversalDetector'
所以先要安装一下
windows
   gem install nokogiri
   gem install rchardet
linux
    sudo apt-get install libxslt1-dev libxml2-dev 
    sudo gem install nokogiri
    sudo gem install rchardet
直接上文件:


require 'rubygems'
require 'csv'
require 'nokogiri'
require 'rchardet'
if(ARGV.size ==0 || (!File.directory? ARGV[0]))
puts "Please give me a folder url."
    url=gets.strip
    if(!File.directory? url)
  puts "Please give me a right folder url."
      exit
end
else
url = ARGV[0]#"/home/dermot/screenshots/clientA/projectA/"
end
File.delete(url.split('/').join('_')+".csv") if File.exist?(url.split('/').join('_')+".csv")
csv_file = CSV.open(url.split('/').join('_')+".csv","w")
csv_file << ["filename","isWellFormed","bomEncoding","headerEncoding","matched"]
def get_info(url)
str = File.read(url)
bom_encoding = CharDet.detect(str)["encoding"]
#is_bom = get_bom(str)
doc=Nokogiri::XML.parse(str)
header_encoding = doc.encoding
#doc.xpath("//p").collect(&:text).to_s
matched = (bom_encoding.include?(header_encoding)) ? "yes" : "no"
is_well_formed = confirm_form(str)
return is_well_formed,bom_encoding,header_encoding,matched

end
def get_bom(data)
if data[0,3] == "\xEF\xBB\xBF":
        # EF BB BF  UTF-8 with BOM
        #@result = {"encoding"=> "UTF-8", "confidence"=> 1.0}
        return "UTF-8_BOM"
    elsif data[0,4] == "\xFF\xFE\x00\x00":
        # FF FE 00 00  UTF-32, little-endian BOM
        #@result = {"encoding"=> "UTF-32LE", "confidence"=> 1.0}
        return "UTF-32LE_BOM"
    elsif data[0,4] == "\x00\x00\xFE\xFF":
        # 00 00 FE FF  UTF-32, big-endian BOM
        #@result = {"encoding"=> "UTF-32BE", "confidence"=> 1.0}
        return "UTF-32BE_BOM"
    elsif data[0,4] == "\xFE\xFF\x00\x00":
        # FE FF 00 00  UCS-4, unusual octet order BOM (3412)
        #@result = {"encoding"=> "X-ISO-10646-UCS-4-3412", "confidence"=> 1.0}
        return "X-ISO-10646-UCS-4-3412_unusual_BOM"
    elsif data[0,4] == "\x00\x00\xFF\xFE":
        # 00 00 FF FE  UCS-4, unusual octet order BOM (2143)
        #@result = {"encoding"=> "X-ISO-10646-UCS-4-2143", "confidence"=> 1.0}
        return "X-ISO-10646-UCS-4-2143_unusual_BOM"
    elsif data[0,2] == "\xFF\xFE":
        # FF FE  UTF-16, little endian BOM
        #@result = {"encoding"=> "UTF-16LE", "confidence"=> 1.0}
        return "UTF-16LE_BOM"
    elsif data[0,2] == "\xFE\xFF":
        # FE FF  UTF-16, big endian BOM
        #@result = {"encoding"=> "UTF-16LE", "confidence"=> 1.0}         
        return "UTF-16LE_BOM"
    end
  return "no"
end
def confirm_form(str)
begin
Nokogiri::XML(str){|config| config.options=Nokogiri::XML::ParseOptions::STRICT}
rescue
return "no"
end
return "yes"
end
def walk_dir(path,csv_file )
dir = Dir.new(path)
dir.find_all do |file|
if (file != "." && file != "..")
       url = path+File::SEPARATOR+file
       if (File.directory? url)
          walk_dir(url,csv_file )                      
       elsif (!(/\.xml$/=~file).nil?)
            csv_file  << [url]+get_info(url)
       end
   end
end
end
walk_dir(url,csv_file )
csv_file.close
puts "finished"

想做成 gui的,可是没找到ruby类似filedialog 的组件,有知道的可以告诉下,3xu~!
分享到:
评论
1 楼 sevk 2010-06-06  
exerb从总体上来讲要比rubyscript2exe要优秀 

相关推荐

    修改的rubyscript2exe

    总的来说,“修改的rubyscript2exe”是一个实用的工具,旨在帮助Ruby开发者将他们的程序打包成Windows EXE文件,以便更广泛地分发和执行。它对旧版本Ruby的支持显示了其对兼容性的重视,而核心脚本`rubyscript2exe....

    rubyscript2exe-0.5.3.tar.gz

    标题“rubyscript2exe-0.5.3.tar.gz”揭示了我们正在处理一个用于Ruby脚本的工具,版本号为0.5.3,它被打包成一个tar.gz文件。这种类型的文件通常在Unix或Linux环境中创建,用于归档和压缩多个文件。tar.gz格式是tar...

    打包ruby EXE程序的OCRA GEM包

    用于打包ruby代码生成EXE程序,最新的GEM包ocra-1.31.gem

    ruby打包文件ruby入门通

    ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件

    ruby-pack ruby打包工具

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

    rubyinstaller-2.7.0-1-x64.exe Ruby安装包

    rubyinstaller-2.7.0-1-x64.exe安装包,官网下载比较慢,故上传此安装包供其他人下载使用。

    RUBY 切换EXE

    5. **生成EXE**: Exerb会分析你的配置文件,将Ruby解释器、你的代码和所有依赖一起打包进一个独立的EXE文件中。 6. **测试EXE**: 最后,你需要在不同的机器上测试生成的EXE文件,确保它能在没有Ruby环境的系统上...

    rubyinstaller-devkit-3.0.0-1-x64.exe

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

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

    4. **exe bundlers**: 如`pkg`或` rubyscript2exe`,它们可以将Ruby脚本和所有依赖一起打包成Windows的.exe文件。不过,这些工具可能不支持最新的Rails或Ruby版本,使用时需要注意兼容性问题。 5. **Docker**: 虽然...

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    ruby安装包-rubyinstaller-devkit-3.0.2-1-x64.zip

    2. 安装Ruby:运行解压后的"rubyinstaller-devkit-3.0.2-1-x64.exe"文件,按照安装向导的指示进行。在安装过程中,确保勾选“Add Ruby executables to your PATH”选项,这样可以将Ruby命令行工具添加到系统环境变量...

    ruby186-25.part1

    ruby186-25 for windows

    Beginning.Ruby.From.Novice.to.Professional.3rd.Edition.1484212797

    Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. You'll also gain a basic understanding of many ancillary technologies such...

    Ruby.on.Rails.Enterprise.Application.Development

    《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的Ruby on Rails商业应用程序开发过程的指导,从规划到编程...

    Ruby-GNOME2.zip

    跟其它界面开发包不同的是,Ruby-GNOME2不仅仅提 供界面控件,它提供了整个GNOME 2.0的环境,包含Ruby/GLib2、Ruby/ATK、Ruby/Pango、Ruby/GTK2、Ruby/GnomeCanvas2、Ruby /GNOME2、Ruby/GnomeVFS、Ruby/GtkHtml2、...

    Ruby on Rails Enterprise Application Development.pdf

    《Ruby on Rails Enterprise Application Development》是一本专注于Ruby on Rails框架的书籍,主要讲述了如何利用Ruby on Rails开发企业级应用程序。本书作者是Elliot Smith和Rob Nichols,他们在IT行业有着丰富的...

    Exerb 5.3(生成Ruby编写的exe文件)

    目前看到很多资源都很老了,都是4.2版的,于是就决定发...特点:速度相对快点,生成的exe体积要小些,经尝试只有用exerb的mkexy功能才能生成一个完美的gui程序,exy文件中还可以设置图标、版本信息和改变文件的编码等。

Global site tag (gtag.js) - Google Analytics