1. KONTA2019

    Posted

    KONTA2019
Changes in title
+[rails,aws]プロジェクト内のbudlerのバージョンが変更できないエラーの解決方法
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,49 @@
+#1.エラーが出るまでの経緯
+
+筆者はチーム開発のローカル開発でbundler-2.0.1を使ってきたのですが、githubからのセキュリティのためのバージョンアップを行なった際に、誤って本番環境のbundlerのバージョンを2.1.4にあげてしまいました。しかし不要なバージョンアップはバグの原因になるため極力避けたいので、ダウングレード(最新バージョンを削除し使いたいバージョンbundlerをインストール)しようとしました。その結果下記のような結果となりました。
+
+```
+#使いたいbundlerのバージョンを指定(インストール)
+[ec2-user@ip-172-31-44-42 freemarket_sample_62d]$ gem install bundler -v 2.0.1
+Successfully installed bundler-2.0.1
+Parsing documentation for bundler-2.0.1
+Done installing documentation for bundler after 3 seconds
+1 gem installed
+
+
+#現在の高すぎるバージョンを削除(アンインストール)
+[ec2-user@ip-172-31-44-42 freemarket_sample_62d]$ gem uninstall -v 2.1.4
+ERROR: While executing gem ... (Gem::CommandLineError)
+ Please specify at least one gem name (e.g. gem build GEMNAME)
+
+
+#bundlerのバージョンを確認
+[ec2-user@ip-111-11-11-11 freemarket_sample_62d]$ bundler -v
+Traceback (most recent call last):
+ 2: from /home/ec2-user/.rbenv/versions/2.5.1/bin/bundler:23:in `<main>'
+ 1: from /home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
+/home/ec2-user/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundExcep)
+```
+
+#原因
+Gemfile.lockの記述にあるバージョン以外は適用されない(bundlerと認識されない)というルールがあるようです。そのため、このGemfile.lockを残したままbundlerのバージョンを変えようとしても変更することができませんでした。
+
+
+```Gemfile.lock
+GEM
+ remote: https://rubygems.org/
+ specs:
+ actioncable (5.2.4.1)
+
+〜中略〜
+
+RUBY VERSION
+ ruby 2.5.1p57
+
+BUNDLED WITH
+ 2.0.1 #この行に記載のあるバージョン以外はエラーを出すようになっています
+```
+
+
+#解決方法
+Gemfile.lockを削除→bundlerをダウングレード→bundle installの手順で実行していただければお望みのbundlerのバージョンに変更することができます