运行命令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配置。
答案 0 :(得分:1)
只需在该行上方添加:
exit if defined? Ocra
# skip anything below this line when we're building the exe
除非require
或其他加载的依赖项低于该行,否则你应该没问题。
答案 1 :(得分:1)
似乎很长一段时间,但是接受解决方案对我不起作用。
有效的解决方案是在您的参数中添加--
,然后再添加任何虚假数据,以使执行流程变得正常
示例:
所以您需要做
ocra yourscript.rb -- ANYDATAHERE