gemがシステム内にあるにも関わらずbundle installが失敗する理由
前回の記事に関する指摘を@deeekiさんから頂いたので、こちらに書きます。
bundlerでインストール出来るのはrubygemsやGitHubに存在するgemだけで、それ以外の場所にあるgemは基本的に扱えません。
前回、bundle installの時にエラーが返っていたのはmecab-rubyというgemがrubygemsにもGitHubにも存在しないからです。
pathを指定しない場合のbundle installでは、まず最初にシステム内にgemがあるかを確認した後に、システム内にはないgemをrubygemsやGitHubからインストールします。
pathを指定しなかった時にbundlerのエラーが返ってこなかったのはそのせいです。
本来、Gemfileにはbundlerで扱える、rubygemsとGitHubに存在するgemのみ書くべきだそうです。
mecab-rubyのような未登録gemはbundlerを介さず、gemを利用したいファイルでrequireするそうです。
うーむ、知りませんでした......。