(Rails) ダウングレードする7.0.3.1 -> 6.1.6.1
Railsでダウングレードする。
状況
諸事情によりrailsのバージョンを7.0.3.1から6.1.6.1に変更する必要があった。(6.1.4を入れたかったが、6.1.4を指定しても7.0.3.1が入ってしまった。)
各アプリケーションに移動する。
cdコマンドで各アプリケーションに移動してください。
Railsのバージョンを確認する。
$rails -v #railsのversionを確認するコマンド。 rails 7.0.3.1
Rails,Railtiesをアンインストールする
$gem uninstall rails #railsをuninstallするコマンド。 Successfully uninstalled rails-7.0.3.1 $gem uninstall railties #railtiesをuninstallするコマンド。 Successfully uninstalled railties-7.0.3.1 #----# #この時にほかのralisのバージョンが入っていると、以下のようになる。 Select gem to uninstall: 1. rails-6.1.4 2. rails-6.1.6.1 3. rails-7.0.3.1 4. All versions > 3 #4でもOK #uninstallするバージョンを選んでくださいということ。
Rails 6.1.6.1を入れなおす
gem install rails -v 6.1.6.1 ##railsをinstallするコマンド
Gemfileの更新
今の状態ではGemfileに7.0.3.1を入れるように記述があるのでそこを変更する。
Gemfile
gem 'rails', '~> 7.0.3', '>= 7.0.3.1' #変更前 gem 'rails', '~> 6.1.6', '>= 6.1.6.1' #変更後
bundleを更新する。
$bundle update #ここでエラーがでると思われる。 Bundler could not find compatible versions for gem "actionpack": In snapshot (Gemfile.lock): actionpack (>= 7.0.3.1) In Gemfile: rails (~> 6.1.4) was resolved to 6.1.4, which depends on actionpack (= 6.1.4) importmap-rails was resolved to 1.1.5, which depends on railties (>= 6.0.0) was resolved to 7.0.3.1, which depends on actionpack (= 7.0.3.1) Running `bundle update` will rebuild your snapshot from scratch, using only the gems in your Gemfile, which may resolve the conflict.
actionpackが7.0.3.1と6.1.4どちらの方で対応すればよいのかがわかっていない状態。なので、一つ一つ変えてあげる。
$bundle update --conservative actionpack #またエラーが出た。 Bundler could not find compatible versions for gem "activesupport": . . .
同じような感じで今回はactivesupportなので追記する。
$bundle update --conservative actionpack activesupport #エラーがなくなるまで繰り返す
bundle update ができたらバージョンを確認する。
$rails -v rails 6.1.6.1
これで入ったので完了。