【報告】Railsを6.0.0にバージョンアップしました
Rails6.0が正式にリリースされたので、6.0.0.rc2から6.0.0にバージョンアップしました。
Railsのバージョン履歴は下記URLからご覧になれます。
Rails 6.0へのバージョンアップ方法
- 現行のRailsのバージョンを確認します。
$ rails -v
Rails 6.0.0.rc2
Gemfile を変更します。
Gemfile
# gem 'rails', '~> 6.0.0.rc1' # 削除
gem 'rails', '6.0' # 追記
- Railsを指定してアップデートコマンドを実行します。
$ bundle update rails
Bundler could not find compatible versions for gem "railties の対応
Railsアップデートコマンドを実行すると、下記のようなエラーがでました。
...
Bundler could not find compatible versions for gem "railties":
In Gemfile:
dotenv-rails (~> 2.5.0) was resolved to 2.5.0, which depends on
railties (>= 3.2, < 6.0)
rails (= 6.0) was resolved to 6.0.0, which depends on
railties (= 6.0.0)
これは依存関係にあるGemのバージョンが、Rails6.0に対応していないために起こるエラーです。
筆者の場合は、dotenv-rails
のバージョンが対応していないよ!と怒られました。
簡単に翻訳すると、
「dotenv-rails v2.5が対応しているバージョンは、Railsの3.2以上(>= 3.2)、6.0未満(< 6.0)だよ。」
という意味です。
1. Gemの対応バージョンの確認
rubygemsで対応するバージョンを確認できます。
エラーが発生した依存関係のGem(筆者の場合はdotenv-rails)のページを開き、最新のバージョンをクリックします。
右の依存性(下の画像、赤枠)dotenv-railsのv2.7.5は、Rails v6.1未満に対応していることがわかります。
これでdotenv-railsは、v2.7.5をインストールすれば良いということがわかりました。
2. 依存関係のGemバージョン指定を書き換える
# gem 'dotenv-rails', '~> 2.5.0', require: 'dotenv/rails-now' # 削除
gem 'dotenv-rails', '~> 2.7.0', require: 'dotenv/rails-now' # 追記
3. Railsと一緒にdotenv-railsもバージョンアップする
bundle update
コマンドにdotenv-railsを追加し実行します。
$ bundle update rails dotenv-rails
Rails v6.0.0へのバージョンアップが開始しました。
バージョンアップできたか確認する
Rais v6.0へ、dotent-rails v2.7へバージョンアップできたか確認しましょう。
- Railsのバージョン確認
$ rails -v
Rails 6.0.0
- gem dotent-railsの確認
$ bundle list dotenv-rails
...
/appパス/myapp/vendor/bundle/gems/dotenv-rails-2.7.5
双方とも無事バージョンアップが完了しました。
まとめ
今回は報告も兼ねて、Railsを6.0.0へバージョンアップする手順をご紹介しました。
最後に、そもそも旧バージョンの「6.0.0.rc2」とはなんぞや?と疑問に思った方、↓したのコラムをお楽しみください。
おしまい。
【コラム】gemバージョンの「rc」とはなにか?
バージョンアップ前のRailsには「rc」とついていますが、これは「リリース候補のバージョン」を意味します。
リリースする準備はできているが、バグが潜んでいないか最終テストを行っている状態です。
直訳すると出荷候補(release candidate)という意味です。
参考