2011-05-20 17 views
1

对我来说,这似乎是一个Ruby 1.9的问题,但任何时候我尝试要求或自动加载源代码如require "lib/mylibrary" Ruby失败并显示“No such file to load”错误。我总是必须这样插入Dir.pwd:require "#{Dir.pwd}/lib/mylibrary"为什么在Ruby中使用require或autoload时必须插入Dir.pwd?

我在任何地方都能看到源代码,无需查找当前工作目录以包含源文件。我错过了什么?

回答

5

$LOAD_PATH变量确定Ruby将检查要加载的文件的位置。从Ruby 1.9开始,默认情况下当前目录不在默认情况下,但可以使用require_relative方法来要求相对于当前工作目录的文件。

查看this question了解更多详情。

+0

您可以通过执行'puts $:' – 2011-05-20 06:20:17

+0

或'puts $ LOAD_PATH'来查看$ LOAD_PATH当前设置为的值。 :) – 2011-05-20 18:22:06

相关问题