Tips

cannot load such file — bundler/setup (LoadError)の対処策

middlemanを起動しようとしたら、次のようなエラーが発生しました。対処策をご紹介します。

エラー発生

OS X : 10.13.2(17C88)

発生日:2020/3/20

対処策

bundlerがインストールされていないことが原因なので、インストールすればいいです。ただ、普通にやると、次のように最新版をインストールしようとしてしまい、現在のプロジェクトのrubyバージョンに互換性が無くエラーが発生してしまいます。

なので、Gemfile.lockを見て、そのプロジェクトで使っていたbundlerのバージョンを確認してからインストールします。

この後にmiddlemanを起動するとエラーが発生せず正常に動きます。

経緯

この事象が起きた経緯を説明します。

python3をhomebrewで入れました。(後で気付いたことですが、この時、homebrew update かupgradeが走ったか、自分で実行してしまい、opensslのバージョンが上がった事が全てのきっかけだと推察します)

その後、middlemanを実行すると、次のようなエラーが発生しました。

また、pryが起動しないなどの事象も発生し、次の記事を読んでrubyごと再インストールしました。

ruby再インストールでもエラーが出て時間がかかったのですが、次の記事に書いたようになんとかできました。

rbenv installでエラーが出るときの対処策rbenvでruby 2.1.2をインストールしようとしたらエラーが発生して、思った以上に時間がかかってしまいました。最終的にインストー...

rubyごと再インストールした結果、bundlerも削除されてしまって、本記事のエラーが発生したということです。

ちなみに、後で気づきましたが、rubyごと再インストールしなくても、opensslのリンクの張り替えなどをすれば、middlemanの問題もpryの問題も解決できたのかもしれません。それの具体的な方法についても、上記の記事に書いたので、ご覧下さい。