我有以下问题:
我的ruby项目结构:Ruby_Source \ file1.rb file2.rb file3.rb
在file1.rb中, 要求'file2' 要求'file3'
现在,如果我从Ruby_Source运行file1.rb,则不会收到任何错误。
但是,当我从不同的系统位置运行时,例如(c :)
错误是加载错误。
有人可以帮我吗?
答案 0 :(得分:3)
您可能想要使用require_relative
:
require_relative通过允许您加载与包含require_relative语句的文件相关的文件来补充内置方法require。
见进一步讨论:
What is the difference between require_relative and require in Ruby?
如果你运行Ruby 1.8:
答案 1 :(得分:0)
试试这个:
require_relative 'file2'
在Ruby 1.9.x.它将在file2
目录中搜索file1
。
在旧版本中,您可以尝试以下内容:
$: << File.dirname($0)
将把当前程序的路径添加到require
- 搜索路径。