現象
あるRailsアプリケーションのRailsのバージョンを6.1.5にアップグレードしたところ、rails console
を実行すると次のようなthor gemのワーニングがでるようになりました。
ledsun@MSI:~/pubannotation►bin/rails c Deprecation warning: Expected string default value for '--quiet'; got false (boolean). This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION. Deprecation warning: Expected string default value for '--syslog'; got false (boolean). This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION. Deprecation warning: Expected string default value for '--logfile'; got true (boolean). This will be rejected in the future unless you explicitly pass the options `check_default_type: false` or call `allow_incompatible_default_type!` in your code You can silence deprecations warning by setting the environment variable THOR_SILENCE_DEPRECATION. Loading development environment (Rails 7.0.3)
原因
原因は以下の3つです。
- thor 1.0から上記のワーニングをだすようになった*1
- railties 6.1からthor 1.0以上を要求*2
- backup gemのthorの使い方が上記のワーニングに該当*3
つまりbackup gemを使ったRails アプリケーションを6.1.5にアップグレードすると上記のワーニングが表示されるようになります。
backup gemはFix CLI option types · backup/backup@16f1f0a · GitHubで対応していそうです。 おそらく5.0.0.beta.3を使えば上記のワーニングはでなくなると思います。 試す前にbackup gemが不要なことに気がついて削除しました。 確かめていません。
再現手順
gem install rails rails new . bundle add backup bin/rails c