最新 追記

いがいが日記


2020-01-13 [長年日記]

_ 学習用にRuby2.7のdeprecated warningを抑制したい

Ruby2.7+Rails6.0の組み合わせだと、現状はRuby3へ向けた多くのwarningが表示される。学習者にとってはログが読めなくなってるので、学習用にログをなんとかする方法。

まず、RUBYOPT環境変数を使ってRailsへRuby実行時のコマンドラインオプションを渡す方法

$ RUBYOPT='-W:no-deprecated' rails s
$ RUBYOPT='-W:no-experimental' rails s
$ RUBYOPT='-W:no-deprecated -W:no-experimental' rails s

毎回打たないといけない。shellをつかえば export RUBYOPT="foo" すればいいのだが、他のRubyプログラムにも影響が出るので、影響範囲広い。

Railsの設定ファイルでこれを書けたらいい。Rubyが起動したあとは Warning[:deprecated] = false でwaringを出さなくできる。たとえばconfig/boot.rbの1行目で Warning[:deprecated] = false と書くと、起動時初回のwarningは出るが、それ以降は出なくなる。


最新 追記