为 ruby APP 创建 Windows 可执行文件

Creating Windows executable for ruby APP

我在 windows 上编写了小脚本项目,我的 gem 文件中有三个 gem

我在 ubuntu 上使用 Traveling ruby 来创建它的包,但是在 rake 任务中当脚本尝试下载 gem 这三个 gem 给出的错误,因为我认为它 window 特定 gems 并寻找一些依赖项

我将这些 gem 保留在项目中并在 gem 文件中引用,该脚本很好地创建了 zip 文件,但是当我 运行 在 windows win32 的错误... gem未找到

    rake package:win32 outputs when it try to fetch gems 

```shell
Fetching gem metadata from http://rubygems.org/............
Fetching version metadata from http://rubygems.org/.
Resolving dependencies...
Using jmespath 1.3.1
Using ffi 1.9.14
Using mini_magick 4.3.6
Installing win32-api 1.4.8 (was 1.6.0) with native extensions
Using bundler 1.13.5
Using aws-sdk-core 2.6.10
Using rautomation 0.17.0
Using win32-clipboard 0.6.4
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/vishalgarg/.rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20161019-3963-1e9bkxl.rb extconf.rb
checking for strncpy_s()... no
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling win32/api.c
win32/api.c:2:21: fatal error: windows.h: No such file or directory
 #include <windows.h>
                     ^
compilation terminated.
make: *** [api.o] Error 1

make failed, exit code 2


```

所以最后我得到了答案,所以旅行 ruby 对我不起作用,因为它有一些限制

所以与 Ocra 一起使用很好 Gem (https://github.com/larsch/ocra)

在 windows 上简单安装 gem(我在 window 上制作了应用程序) 和 运行 命令

ocra <Ruby file name > --verbose --gem-full --no-dep-run --add-all-core --gemfile Gemfile

它将生成 exe 文件,您可以在任何windows

上运行它