由于ARGV [0],无法使用ocra生成ruby exe

时间:2015-08-17 16:42:40

标签: ruby command-line-arguments ocra

运行命令ocra script.rb --no-autoload --no-enc --add-all-core会给出以下行的错误initialize: can't convert nil into String (TypeError)

doc = Nokogiri::XML(File.open(ARGV[0]))

这是怎么回事?我想构建可执行文件,以便能够接受任何参数并将该文件用作xml配置。

2 个答案:

答案 0 :(得分:1)

只需在该行上方添加:

exit if defined? Ocra
# skip anything below this line when we're building the exe

除非require或其他加载的依赖项低于该行,否则你应该没问题。

答案 1 :(得分:1)

似乎很长一段时间,但是接受解决方案对我不起作用。

有效的解决方案是在您的参数中添加--,然后再添加任何虚假数据,以使执行流程变得正常

示例:

所以您需要做

ocra yourscript.rb -- ANYDATAHERE