Что означает "не удается загрузить такой файл - ruby-debug", когда выполняется require? - PullRequest
0 голосов
/ 27 февраля 2019

Привет: меня попросили отладить некоторый код 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»?

Любая помощь в расшифровке того, что происходит, и любые предложенные решения будут оценены!

1 Ответ

0 голосов
/ 27 февраля 2019

Я думаю, что только что нашел свой собственный ответ.

Файл .rb внутри библиотеки содержал ...

use 'ruby-debug'

Я изменил это на ..

use 'pry-bugbye'

и это сработало.

Итак, сообщение об ошибке было связано с использованием "ruby-debug".И решение было действительно заменить это "pry-bugbye"

Надеюсь, что эта публикация поможет кому-то еще в будущем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...