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

Can't generate ruby exe using ocra due to ARGV[0]

运行 命令 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 配置。

只需在该行上方添加:

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

除非在该行下方有 require 或以其他方式加载的依赖项,否则您应该没问题。

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

可行的解决方案是添加 -- 然后将任何虚假数据添加到您的参数中,以使执行流程正常进行

示例:

所以你需要做

ocra yourscript.rb -- ANYDATAHERE