使用其他类的依赖项编译ruby脚本

时间:2013-03-14 11:38:15

标签: ruby ocra

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

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

需要'./Subfolder/Class.rb'

当我运行我的主脚本时,它可以工作。当我和exe.rb在同一个地方时,我的exe也可以工作 但是当我把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

但它没有帮助。

2 个答案:

答案 0 :(得分:1)

你有没有尝试过你的项目制作红宝石? http://guides.rubygems.org/make-your-own-gem/

Gems定义自己的依赖项。

答案 1 :(得分:-1)

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

开头

相反,请尝试:

需要'Subfolder / Class.rb'

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