2011-05-20 23 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

相關問題