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

Can';由于ARGV[0],无法使用ocra生成ruby exe,ruby,command-line-arguments,ocra,Ruby,Command Line Arguments,Ocra,运行命令ocra script.rb--no autoload--no enc--add all core会出现以下错误initialize:无法将nil转换为字符串(TypeError): doc=Nokogiri::XML(File.open(ARGV[0])) 这是怎么回事?我希望构建可执行文件,使其能够接受任何参数并将该文件用作xml配置。只需在该行上方添加以下内容: exit if defined? Ocra # skip anything below this line when w

运行命令
ocra script.rb--no autoload--no enc--add all core
会出现以下错误
initialize:无法将nil转换为字符串(TypeError)

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


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

只需在该行上方添加以下内容:

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

除非该行下方有
require
或其他加载的依赖项,否则您应该很好。

似乎很长时间了,但accept解决方案对我不起作用

工作解决方案是添加
-->
,然后向参数中添加任何虚假数据,以使执行流与正常情况一样

例如:

所以你需要这样做

ocra yourscript.rb -- ANYDATAHERE

为什么不使用某种类型的CLI解析器,而不仅仅是使用
ARGV
,这也会增加代码的可读性,并且可能不会遇到同样的编译问题。