从其他位置运行ruby文件时加载错误

时间:2012-09-04 14:13:45

标签: ruby

我有以下问题:

我的ruby项目结构:Ruby_Source \     file1.rb     file2.rb     file3.rb

在file1.rb中, 要求'file2' 要求'file3'

现在,如果我从Ruby_Source运行file1.rb,则不会收到任何错误。

但是,当我从不同的系统位置运行时,例如(c :)

错误是加载错误。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

您可能想要使用require_relative

  

require_relative通过允许您加载与包含require_relative语句的文件相关的文件来补充内置方法require。

见进一步讨论:

What is the difference between require_relative and require in Ruby?

如果你运行Ruby 1.8:

Ruby: require vs require_relative - best practice to workaround running in both Ruby <1.9.2 and >=1.9.2

答案 1 :(得分:0)

试试这个:

require_relative 'file2'

在Ruby 1.9.x.它将在file2目录中搜索file1

在旧版本中,您可以尝试以下内容:

$: << File.dirname($0) 

将把当前程序的路径添加到require - 搜索路径。