如何解决这个错误:kernel_require.rb:45:在`require':无法加载这样的文件?

mon*_*ena 6 ruby ruby-2.0

我有以下文件结构:

  • execute.rb
  • LIB
    • my_class.rb

在execute.rb中,我有以下代码:

#!/usr/bin/ruby

require 'lib/my_class'

my_object= MyClass.new

my_object.some_method
Run Code Online (Sandbox Code Playgroud)

这是my_class.rb的代码:

class MyClass
    def some_method
        puts 'OK'
    end
end
Run Code Online (Sandbox Code Playgroud)

所以,我尝试运行execute.rb:

ruby execute.rb
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

/home/vagrant/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- lib/my_class (LoadError)
    from /home/vagrant/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from execute.rb:3:in `<main>'
Run Code Online (Sandbox Code Playgroud)

谁能帮我?我会感激任何帮助.非常感谢.

mon*_*ena 7

我按照@Dogbert的提示解决了这个问题.

在execute.rb代码中,必须替换:

require 'lib/my_class'
Run Code Online (Sandbox Code Playgroud)

对于:

require_relative 'lib/my_class'
Run Code Online (Sandbox Code Playgroud)