0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DEPRECATION WARNING: ActiveSupport::ProxyObject is deprecated and will be removed in Rails 8.0.

Last updated at Posted at 2024-10-21

tltr

原因はダウンロード済gemの中で古いものがあることで、解決方法はgemのアップデートです。

gemアップデートでアプリに影響を与えないように、以下コマンドでgemを一つずつアップデートして、該当warningが出なくなるまで古いgemを特定して、特定ができたら該当gemだけアップデートすれば、warningを解消できます。

bundle update gemの名前

gem全体が更新されても挙動変化の心配がない場合の解消法は以下です。

bundle update

背景

Rails ver up 7.1 to 7.2のときに以下warningが出ました。

DEPRECATION WARNING: ActiveSupport::ProxyObject is deprecated and will be removed in Rails 8.0.
Use Ruby's built-in BasicObject instead.
(called from <main> at /Users/xxx/yyy_rails_project/config/application.rb:9)

warningが出たコードはこれみたいです。

Bundler.require(*groups)

以下Bundler公式のIssueによると、ダウンロード済のgemがProxyObjectを使っていることが原因で、gemをコメントアウトして原因gemを特定できるらしいです。

筆者はgemをコメントアウトしてbundle installして、またgemのコメントを外してbundle installすると、warningが消え、gemのバージョンが最新のものになる現象が起きました。
もしかすると、bundle updateで原因gemの特定も不要で、一気にwarningを解消できる可能性があると考えて、実行すると無事解消できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?