Невозможно сгенерировать ruby ​​exe с использованием ocra из-за 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.

2 ответа

Решение

Просто добавьте это выше этой строки:

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

Если нет require или иным образом загруженная зависимость ниже этой строки у вас все будет хорошо.

Кажется, долго, но решение принять не работает для меня.

Рабочий раствор добавляет -- затем любые ложные данные в ваш аргумент, чтобы поток выполнения был как обычно

пример для:

так что вам нужно сделать

ocra yourscript.rb -- ANYDATAHERE
Другие вопросы по тегам