100年時代を生き抜くWebPGブログ

過酷な令和時代を生き抜くため、29歳からWebエンジニアになったひよっこプログラマーが、日々学んだこと / 思ったことなど気軽にアップしていきます。

環境構築で躓くポイント1 ~ bundle install時のbundler編~

こんにちは。

先週の休日は天気、気温ともに良く、
朝7時に起きて爽快な風を浴びながら洗濯物を干してました。

f:id:hachimaki37:20200325142126j:plain
爽快なビールを朝から飲みたいけど、尿酸値が高くて自粛してます

どうも、ハチマキです。

本日の概要 : bundlerインストール時に発生したエラー解決方法

ここでは、環境構築に伴い、躓くポイントをまとめております。

今回は、bundlerインストール時に起こり得るエラーの解決方法についてです。

その前に。

・そもそもbunderって何??って方はこちらを参考にしてください。
Gemfile?bundler?Rails開発するなら理解しておきたいgem管理の基礎知識 | Enjoy IT Life
【Ruby入門】今更聞けない!Ruby bundlerとは | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト

下記の手順を行えば一つ前に進むことができますので、深呼吸して、一つずつ解決していきましょう!

各バージョン

- Rails 4.2.5
- Ruby 2.2.4

事象例

ちゃんとbundlerインストール出来てるのに、なんかbundler絡みでエラーが発生する。。

エラー例


Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    bundler

    rails (~> 4.2.4) was resolved to 4.2.11.1, which depends on
      bundler (< 2.0, >= 1.3.0)

  Current Bundler version:
    bundler (2.1.4)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

このエラーの意味は、bundlerのバージョンを (< 2.0, >= 1.3.0)に指定してくれないと動かせませんよ!
と怒っております。

問題点

bundlerのバージョンに問題あり!
環境構築のために、bundlerのインストールが必要ですが、おそらくバージョンを指定せず
$ gem install bundlerを実行してしまったのでしょう。

上記を実行すると最新バージョン(現時点でbundler-2.1.4 )がインストールされてしまいエラーが発生します。
※理由:システムで利用しているバージョンと依存関係がないため

解決方法

$ gem install bundler -v バージョン
上記のようにbundlerのバージョンを指定し、インストールしてあげるとうまく通すことができます。

ex) gem install bundler -v 1.17.1

備考

$ gem uninstall bundler
不要にインストールしてしまったものは、上記コマンドでアンインストールしてしまいましょう。
$ gem uninstall bundler -v 1.17.1
バージョン指定のアンインストールは-v 1.17.1の部分をアンイストールしたいバージョンに変えて実行すると出来ます。

参考資料

Ruby | bundler を特定のバージョンに切り替えて実行する - Qiita

                                            • -

次回もこんな感じでアップしていこうと思います。
以上、ハチマキでした。