

You can use allinoneruby.exe like ruby.exe (Windows) and allinoneruby_* like ruby (Linux, Darwin) that's already installed on your system. AllInOneRuby contains a complete Ruby installation: it includes no application, but it does include the Ruby VM and the complete ruby_lib tree. What's the difference between RubyScript2Exe and AllInOneRuby? Well, RubyScript2Exe includes an application (your script), the Ruby VM and only parts of the ruby_lib tree (it's stripped specifically for your application). You can embed all of them in one single executable. It consists of libraries, documentation, help files, configuration files, images, licenses, readmes, and so on. Usually, an application is more than just a program or a script. RubyScript2Exe can handle simple scripts, but it can handle complete directories as well. Unless you distribute your version of Ruby with your application. There is one more advantage: Because there might be some incompatibilities between the different Ruby versions, you have to test your application with every single version.


But the generated exe under Cygwin is very, very big, because its exe's are very big (static?) and it includes cygwin1.dll, so it can run on machines without Cygwin. No cross compile.Īnd when I say Windows, I mean both Windows (RubyInstaller, MinGW and MSWin32) and Cygwin. And that's what we want!īecause of the gathering of files from your own Ruby installation, RubyScript2Exe creates an executable for the platform it's being run on. Anyway, the result is the same: a standalone executable ( application. Not in the sense of a source-code-to-byte-code compiler, but as a "collector", for it collects all necessary files to run your application on an other machine: the Ruby application, the Ruby interpreter and the Ruby runtime library (stripped down for your application). RubyScript2Exe transforms your Ruby application into a standalone, compressed Windows, Linux or Mac OS X (Darwin) executable.
