什么是;无法加载这样的文件--ruby debug";指示何时运行需要?

什么是;无法加载这样的文件--ruby debug";指示何时运行需要?,ruby,Ruby,嗨:我被要求调试一些ruby代码,一种我几乎一无所知的语言,所以请耐心听我说。FWIW,端口从V2.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 pu

嗨:我被要求调试一些ruby代码,一种我几乎一无所知的语言,所以请耐心听我说。FWIW,端口从V2.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”)就在上面。请记住,在2.1.1中使用了完全相同的代码和目录结构

“无法加载这样的文件”是否真的试图说“我无法加载这个库,因为它是在2.1.1中创建的,而这是2.3.1”

“ruby调试”是怎么回事

我发现一些注释(内部)指出“ruby调试”可能是一个问题。主题是

errors related to deprecated debuggers like pry-debugger, debugger, ruby-debug
解决办法是

Use pry-byebug debugger
我不确定为什么在这里调用调试器,或者这是否是错误的原因。我不知道如何“使用pry byebug调试器”。有没有一种方法可以在ruby脚本中使用,比如“UsePryByebug”


任何帮助破译正在发生的事情和任何建议的解决方案都将不胜感激

我想我找到了自己的答案

库中的.rb文件具有

use 'ruby-debug'
我把它改成

use 'pry-bugbye'
它成功了

瞧,错误消息都是关于“ruby调试”的使用。而解决办法确实是用“pry Bugbay”来代替


希望这篇文章将来能帮助别人

恭喜你弄明白了!用英语写作时请使用英语标点符号。