0

压缩我的脚本时遇到问题。

我有一个 main.rb 和子文件夹中的一些类,例如 Subfolder/Class.rb 在我的 main.rb 中,我有这样声明的类:

需要'./Subfolder/Class.rb'

当我只运行我的主脚本时,它就可以工作。当我的 exe 与 main.rb 位于同一位置时,它也可以工作。
但是当我将exe放在其他地方时,我得到了这个错误:

C:/Users/MLEING~1/AppData/Local/Temp/ocr53C2.tmp/lib/ruby/site_ruby/1.9.1/rubyge
ms/custom_require.rb:36:in `require': cannot load such file -- ./Parsing/Calibra
tionState (LoadError) from C:/Users/MLEING~1/AppData/Local/Temp/ocr53C2.tmp/lib/ruby/site_ruby
/1.9.1/rubygems/custom_require.rb:36:in `require'
    from C:/Users/MLEING~1/AppData/Local/Temp/ocr53C2.tmp/src/main.rb:9:in `
<main>'

我可以以某种方式将依赖项放入我的 exe 中吗?
我也尝试像这样包含它们:

ocra main.rb Subfolder/*.rb

但这无济于事。

4

2 回答 2

1

您是否尝试过从您的项目中制作红宝石宝石?http://guides.rubygems.org/make-your-own-gem/

Gems 定义了它们自己的依赖关系。

于 2013-03-14T11:44:23.033 回答
-1

您的要求正在使用当前目录的相对路径(您可以看到,因为它以“./”开头

相反,请尝试:

需要“子文件夹/Class.rb”

并确保 $LOAD_PATH 包含所有 ruby​​ 代码解包的位置(您可以通过检查 $0 来查看(或找出 $0 的完整路径并要求 .rb 具有完整路径)

于 2013-10-16T01:29:05.447 回答