Regexp:Class のための未定義メソッド `timeout='

こんにちは

ウェブサイトの管理画面からアップグレードを試みましたが、失敗し、以下のエラーが表示されています。

/var/www/discourse/config/initializers/100-regex-timeout.rb:3:in `\u003cmain\u003e': undefined method `timeout=' for Regexp:Class (NoMethodError)

Regexp.timeout = GlobalSetting.regex_timeout_seconds.to_i if GlobalSetting.regex_timeout_seconds.present?
      ^^^^^^^^^^
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:667:in `block in load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activesupport-7.0.4.3/lib/active_support/notifications.rb:208:in `instrument'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:666:in `load_config_initializer'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/engine.rb:619:in `block in <class:Engine>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:32:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:228:in `block in tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `call'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:226:in `tsort_each'
        from /usr/local/lib/ruby/3.1.0/tsort.rb:205:in `tsort_each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.4.3/lib/rails/application.rb:372:in `initialize!'
        from /var/www/discourse/config/environment.rb:7:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `require'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:103:in `block in load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `each'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:102:in `load_requires'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/pry_class.rb:143:in `final_session_setup'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/lib/pry/cli.rb:82:in `parse_options'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pry-0.14.2/bin/pry:12:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/bin/pry:25:in `<top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:58:in `kernel_load'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli/exec.rb:23:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:491:in `exec'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:34:in `dispatch'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/cli.rb:28:in `start'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:45:in `block in <top (required)>'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
        from /var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bundler-2.4.4/exe/bundle:33:in `<top (required)>'
        from /usr/local/bin/bundle:25:in `load'
        from /usr/local/bin/bundle:25:in `<main>'

サポートされていないインストールを実行しているように思われます。最新の Discourse コードベースでは Ruby 3.2 のみサポートしています。

このメッセージは確かに改善すべきです。アプリからこのような不可解なエラーが表示されるべきではありません。

フォーラムを約1時間停止させた後、手動で更新しました。このページは非常に役立ちました。

https://meta.discourse.org/t/manually-update-discourse-and-docker-image-to-latest/23325

「いいね!」 1

@Samir_Sabri さん、ご指摘ありがとうございます。docker_manager(セルフホスティングユーザーがアップグレードに使用するUI)で最小必要バージョンをまだ更新していなかったようです。これがマージされると、ユーザーはDiscourseをアップグレードする前にCLI再構築を実行するように促されます。

「いいね!」 5

このトピックは21時間後に自動的にクローズされました。新しい返信は許可されていません。