2017-02-27 60 views
0

我是红宝石初学者。两个文件在这里第一个文件通过使用require附加到第二个文件。但是第一个文件不会加载。Ruby错误:无法加载这样的文件

first.rb

puts "First File" 

second.rb

require 'first' 
puts "Second File" 

我得到埃罗 R: -

/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- first.rb (LoadError) 
from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from second.rb:2:in `<main>' 

请告诉我们。如何解决这个问题呢。

+0

这应该工作。看看这些文件在同一个目录下,看起来你的文件名中没有拼写错误。 –

回答

2

require_relative "image_utils"

根据你的Ruby版本,使用require假定image_utils.rb在$ LOAD_PATH(需要额外的设置)为Ruby 1.9的已删除从负载路径当前目录。改为使用require_relative

Ruby将首先尝试通过其绝对路径解析文件。然后,如果没有找到它,然后它会检查在$ LOAD_PATH如上所述,如果没有,那么它会抛出一个LoadError

http://ruby-doc.org/core-2.0.0/Kernel.html#method-i-require

+0

这很好。谢谢你Jemonsanto! – test