こちら[requireとrequire_relativeの違いとは?] に詳しく書いてあるのですが、
ファイルを読み込む時はrequireではなく、require_relativeを使いましょう(Ruby1.9.2以降で、かつ$LOAD_PATHに含まれていない場合)。
Ruby1.9.2以降、$LOAD_PATHにカレントディレクトリが含まれなくなったため、
例えば、同じ階層のfile.rbを読み込もうと思ってrequire 'file'と書いたらエラーになります。
$HOME/.anyenv/envs/rbenv/versions/2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in
`require': cannot load such file -- file (LoadError)
その回避方法として、require ./file と相対パスで書くことも可能ですが、
違う階層から読み込むと結局エラーになってしまいます。
どうしてもrequireと使いたい場合は、require する前に、
カレントディレクトリを$LOAD_PATHに追加する方法があります。
$:.unshift File.dirname(__FILE__) # ロードパスにカレントディレクトリを追加
require 'file'
因みに$:は$LOAD_PATHの別の書き方です。
$LOAD_PATH… プログラム実行時に読み込まれるパス$:… $LOAD_PATHの別の書き方