Привет: меня попросили отладить некоторый код ruby, язык, о котором я почти ничего не знаю, поэтому, пожалуйста, потерпите меня.FWIW, порт от v 2.1.1 до 2.3.1
Это скрипт ruby ...
#!/usr/bin/env ruby
$VERBOSE = nil
begin
$:.unshift File.expand_path(File.join(File.dirname(File.realpath(__FILE__)), '..', 'lib'))
require 'idl'
rescue LoadError => e
puts "Failed to load idl library. #{e}"
exit(-1)
end
GC.disable # Disable GC since IDL is so transient. The GC takes an inordinate amount of time
IDL::App.instance.run
Это сообщение об ошибке ...
Failed to load idl library. cannot load such file -- ruby-debug
Сценарий ruby находится в каталоге, в котором есть есть каталог-брат с библиотекой idl ...
-> ll idl ../lib
-rwxrwxr-x 1 joe thegrp 348 Feb 26 17:29 idl
../lib:
total 12
drwxrwsr-x 3 joe thegrp 4096 Feb 21 11:44 idl
-r--r--r-- 1 joe thegrp 4327 Feb 21 11:44 idl.rb
Все это появляетсячтобы работал в 2.1.1
Я не думаю, что это вопрос, где он не может найти библиотеку.Я вставил некоторые отладочные операторы в скрипт ruby, которые просто выводят значение ... File.expand_path (File.join (File.dirname (File.realpath ( FILE )), '..','lib')) и это правильно.И помните, этот точно такой же код и структура dir работали в 2.1.1.
Может ли быть так, что «невозможно загрузить такой файл» действительно пытается сказать: «Я не могу загрузить эту библиотеку, потому что она была создана в 2.1.1, а это 2.3.1» ??
Что случилось с "- ruby-debug"?
Я обнаружил некоторые заметки (внутренние), что "ruby-debug" может быть проблемой.Тема была ...
errors related to deprecated debuggers like pry-debugger, debugger, ruby-debug
Решение было ...
Use pry-byebug debugger
Я не уверен, почему здесь вызывается отладчик или это является причиной ошибки,И я не уверен, как «использовать pry-byebug отладчик».Есть ли способ, которым я могу вставить это в скрипт ruby, что-то вроде «use pry-byebug»?
Любая помощь в расшифровке того, что происходит, и любые предложенные решения будут оценены!