使用Ocra,LoadError从ruby文件生成可执行文件?

我正在尝试从Windows上的几个ruby文件生成可执行文件,所以我安装了Ocra。 我以为我理解了Ocra如何工作的过程,但似乎无法使可执行文件正常工作。 我遇到的问题是“需要”其他ruby文件。

ruby程序本身编译正确并按我想要的方式运行,Ocra似乎创建了一个可运行的可执行文件,但是,当我尝试运行可执行文件时,我收到以下错误:

* / custom_require.rb:36:在’require’中:无法加载此类文件 – MainMenuDialog.rb(LoadError)*

我的主程序名为’JobManager.rb’,它正在创建一个新的MainMenuDialog对象,因此我在文件的顶部包含MainMenuDialog.rb:

$: << File.expand_path(File.dirname(__FILE__) + "/../lib") # Other requires here require("MainMenuDialog.rb") 

同样,程序自身编译和运行完美(包括require语句),当我运行命令ocra JobManager.rb时,它成功运行程序,检查依赖项,并创建可执行文件。 由于上面描述的“LoadError”,我无法运行可执行文件。

对我做错了什么的想法? 提前致谢!!!

使用ruby> = 1.9,您可以尝试require_relative

说明:ocra将所有文件存储在其自己的子目录中。

如果你操纵加载路径($ :),你无法确定,ocra在执行期间使用了什么。

这个问题很老并且已经回答了,但是我想要包含我在Ocra文档中找到的这个小块,因为这里的正确答案并没有解决我的问题:

OCRA未设置包含路径。 如果您需要在与主脚本相同的目录中“要求”其他源文件,请在脚本开头使用$:.unshift File.dirname($0)