warning: already initialized constant Rack::Utils::ParameterTypeError などのrack utils のエラーの解決例


1.どんなエラー?

デプロイをしたときにユニコーンのバージョンがローカルとずれてしまい、ユニコーンをダウングレードしたときにでたエラーで、連動して動けなくなってしまったgemを表示したものでした



2.解決方法

unicornの指定のバージョンを新しいものに変え(筆者はそのまま本番環境が新しいものになっていたためそのまま)、RAILS_SERV_STATIC_FILE=1 bundle exec unicorn_rails -c config/unicorn.rb -E production -Dとすることで、おそらくこのエラーは解消しました。

もう少し深掘りするとbundle execをつけることで初期設定でbundle installで更新されないgemが更新されるため、このエラー文は解決できたと思われます。

また、bundle update -defaultすれば直るという記事がいくつか見受けられるのですが、筆者はこれでなかなか苦労したのでupdateコマンドは慎重に行われた方が良いと思います

3.注意事項

筆者の場合はこのエラーを解決してもその他のエラーが残り、cssが当たらず引き続き試行錯誤を行なっているため、根本的な解決になっているかは不明なのであくまで参考程度にしていただければと思います。
もしかするとこの方法は、「動いていた頃のデータを使う」というその場しのぎの方法かもしれないため、うまくいったときでも最新のものが本番環境に反映されているか再度ご確認ください。

4.後日談(エラー解決しました)

この方法であっていました。そのほかはnginxとunicorn.rbのpathミスを修正したら直りました