実例
./lib/x.rb
というファイルが以下のようであったとします。
class X (中略) end
また、./lib/a.rb
というファイルが以下のようであったとします。
require './x' (以下省略)
このとき、
カレントディレクトリが ./
であるときに $ ruby ./lib/a.rb
を実行すると
require': cannot load such file
エラーが出ます。
エラーが出ないようにするためには、./lib/a.rb
の require の場所を以下のように変更します。
require './lib/x' (以下省略)
結論
require
に書く場所は、ruby コマンドを実行した場所からの相対位置 になります。
図解
上記の例での tree は以下のようになります。
(rubyコマンドを実行した場所) | |-- lib | |-- x.rb | |-- a.rb