Ruby:我的程序创建了 .exe,但如果没有在另一台计算机上安装 ocra 就不能

Ruby : my program creates .exe but can't without ocra installed in another computer

Ocra 是一个 ruby gem "transforming" ruby 文件源代码到 .exe 文件,因此任何未安装 ruby 的用户都可以启动使用生成的文件进行编程。

我正在创建游戏编辑器,因此我需要一种方法来在用户需要时创建可执行文件。

好吧,这是我的问题,我如何在不告诉用户安装 gem 的情况下使用 ocra 命令?一种要求(要求 'ocra' 不起作用),或另一种创建可执行文件的方法。

感谢 Raffael 的回答,它是这样工作的:

忘记在程序中使用 exec("ocra game.rbw") 的想法。在我安装了 ocra 的计算机上,我创建了一个基本的 game.exe 和 game.rbw,由于 eval,它将被不同地解释。这个想法是,我们不会为每个不同的项目创建一个新的 .exe,而是通过源代码解释来设置它。

如果你有类似的东西 game.rbw :

Dir.entries("SourceCode").each do |code|
    require_relative "SourceCode/" + code if code.include?(".rb")
end

替换为:

Dir.entries("SourceCode").each do |code|
    eval(File.open("SourceCode/" + code, "r:UTF-8").readlines.join("\n")) if code.include?(".rb") 
end

如果您设置了源代码的一部分,下次启动您的 game.exe 将会有不同的解释。