0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

解決!Rubyのバージョンアップに伴うトラブル|rails コマンドが動かない

Last updated at Posted at 2021-03-22

##1. 状況

  1. 開発環境にあったプロジェクトをherokuにpushしようとしたところ、ruby のバージョンが 2.6.3 になっているけど、2.6.6 を使用しろと言われた。
  2. これは、なんとか解決。その時の戦記はこちら
  3. 無事にherokuにpushはできた。
  4. しかし、そのあと、rails s しようとしたところ、謎のエラーが出た。
環境
% ruby -v
ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-darwin20]

% rbenv versions
  system
  2.5.1
  2.6.3
* 2.6.6 (set by /Users/randytozuka/.rbenv/version)

% gem -v
3.2.15

エラー文

ターミナル
% rails s            
/Users/randytozuka/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/lib/bundler/rubygems_integration.rb:200: warning: constant Gem::ConfigMap is deprecated
Traceback (most recent call last):
    71: from bin/rails:3:in `<main>'
    70: from bin/rails:3:in `load'
    69: from /Users/randytozuka/Desktop/deskschedule2-master/bin/spring:15:in `<top (required)>'
  (中略)
    2: from /Users/randytozuka/Desktop/deskschedule2-master/vendor/bundle/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
   1: from /Users/randytozuka/Desktop/deskschedule2-master/vendor/bundle/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/Users/randytozuka/Desktop/deskschedule2-master/vendor/bundle/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': cannot load such file -- etc (LoadError)

##2. 対応
ググってみたところ、先人がこのようなアドバイスを残してくれていた。
・bundle install をしろ
・gem install bundler を試してみろ
・gem を update したら bundler も update せよ
・RubyGemsのバージョンをupdate か downgradeして、bundlerのバージョンと相性のよいバージョンに合わせろ

ターミナル
% gem update --system
Latest version already installed. Done.

% gem update bundler
Updating installed gems
Nothing to update

% gem list rubygems-update
*** LOCAL GEMS ***
rubygems-update (3.2.15)

状況変わらず…(TT)
ここでメンターさんから、これやってみと教えていただいた事をやってみる。

その1
gem uninstall -I -a -x --user-install --force
ERROR:  While executing gem ... (Errno::ENOTEMPTY)
    Directory not empty @ dir_s_rmdir - /Users/randytozuka/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/rails-6.1.3

エラーか強い心でスルーする。

その2
gem install bundler
Fetching bundler-2.2.15.gem
Successfully installed bundler-2.2.15
1 gem installed

その3、ここでGemfile.lock を削除して,

その4
% bundle install
% rails s 

どうじゃ!! お?? エラーがちょっと変わった。
ん〜〜〜となったところで,たまたま見た記事 にあった ↓ を試してみる。

ターミナル
% bundle install --redownload

解決! やった!

#3. まとめ
丸一日彷徨いました。
今回のトラブルは、ruby 及び rails のバージョンを上げたが、gem がそれについてきていなかったので、もう一回最新の gem のライブラリを読み込んだら解決した…ということだったのかなと。安易にrubyのバージョンあげると大変だよということでいい勉強させてもらいました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?