【Heroku/Rails】デプロイで起こる「Could not find 'bundler' 」の解決法
RailsのアプリケーションをHerokuにデプロイしようとすると長文で出てくるエラーがあります。
「Could not find 'bundler' (2.0.1)~」
このエラーパッと見はややこしそうに見えますが案外楽々解消することができたりします。今回はその解消法を紹介していきます。
超簡単!「Could not find 'bundler' (2.0.1)」解決方法を紹介!!
なかなかややこしいと思われがちですが、実はこのエラーrubyとbundlerのバージョンを変えてくださいという単なるバージョン管理についてのメッセージです。
1つ1つコードを実行していけば解消できるので一緒に見ていきましょう~※ちなみにこの解決法はmac + rbenv環境であることが条件です
▶︎手順①:Homebrewのアップデートとrubyの構築
タイトルの通りバージョンをあげる前にHomebrewのアップデートとrubyの構築を行います。
これで環境設定は完了しました。それでは次からrubyとbundlerのバージョンを上げていきます。
▶︎手順②:rubyバージョンインストール
rubyのバージョンをインストールします。
これを実行することでrubyの2.6.3が使えるようになります。
※今回は2.6.3にしていますが状況によって変わります
▶︎手順③:rubyのバージョンをローカル環境でも適用させる
続いてインストールしたrubyのバージョンをローカル環境でも適用させて完全にバージョンを上げます。
rubyのバージョン上げは完了です。
▶︎手順④:bundlerのバージョンインストール
rubyに続いてbundlerのバージョンも上げます。
$ rm Gemfile.lock
こちらのコードでbundlerインストールとGemfile.lockの記載を削除します。
▶︎手順⑤:Gemfile全体のインストール
rubyとbundlerのバージョンを上げたためGemfileの内容をインストールします。
これでバージョン上げは完了です。
▶︎手順⑥:リポジトリへの反映とデプロイ
このコードは普通にデプロイする時の手順です。
$ git commit -m 'version up ruby'
$ git push heroku master
以上で正常に動作すると思います。
▶︎まとめ
今回の手順で解決できたかはさて置き、Railsを扱う上でエラーから逃れることはできません。
ぶつかったエラーには必ず解決法があるため諦めずに解消していきましょう。また、自力で解決できたエラーについては他の人にシェアすると自分だけでなくたくさんの人のためになります。
エラー解決は未知の領域を開拓するという考えですると案外取り組めたりするので、前向きに頑張りましょう!