You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行rails generate active_record:session_migration时遇LoadError求助

问题

环境

  • 系统:Ubuntu 20.04
  • Redmine版本:5.0.3
  • 数据库:独立Ubuntu 20.04 MySQL服务器
  • Ruby版本:3.0.2-p107
  • Rails版本:6.1.7

操作步骤

  1. 在Gemfile中添加gem 'activerecord-session_store'
  2. 运行bundle install
  3. 执行rails generate active_record:session_migration命令

错误信息

/var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require': cannot load such file -- listen (LoadError)
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `block in require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:299:in `load_dependency'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/evented_file_update_checker.rb:6:in `<top (required)>'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `block in require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:299:in `load_dependency'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `require'
        from /opt/redmine-5.0.3/config/environments/development.rb:58:in `block in <top (required)>'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/railtie.rb:234:in `instance_eval'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/railtie.rb:234:in `configure'
        from /opt/redmine-5.0.3/config/environments/development.rb:5:in `<top (required)>'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `block in require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:299:in `load_dependency'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `require'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/engine.rb:571:in `block (2 levels) in <class:Engine>'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/engine.rb:570:in `each'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/engine.rb:570:in `block in <class:Engine>'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:32:in `instance_exec'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:32:in `run'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:61:in `block in run_initializers'
        from /usr/lib/ruby/3.0.0/tsort.rb:228:in `block in tsort_each'
        from /usr/lib/ruby/3.0.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
        from /usr/lib/ruby/3.0.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
        from /usr/lib/ruby/3.0.0/tsort.rb:431:in `each_strongly_connected_component_from'
        from /usr/lib/ruby/3.0.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:50:in `each'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:50:in `tsort_each_child'
        from /usr/lib/ruby/3.0.0/tsort.rb:415:in `call'
        from /usr/lib/ruby/3.0.0/tsort.rb:415:in `each_strongly_connected_component_from'
        from /usr/lib/ruby/3.0.0/tsort.rb:349:in `block in each_strongly_connected_component'
        from /usr/lib/ruby/3.0.0/tsort.rb:347:in `each'
        from /usr/lib/ruby/3.0.0/tsort.rb:347:in `call'
        from /usr/lib/ruby/3.0.0/tsort.rb:347:in `each_strongly_connected_component'
        from /usr/lib/ruby/3.0.0/tsort.rb:226:in `tsort_each'
        from /usr/lib/ruby/3.0.0/tsort.rb:205:in `tsort_each'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/initializable.rb:60:in `run_initializers'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/application.rb:391:in `initialize!'
        from /opt/redmine-5.0.3/config/environment.rb:16:in `<top (required)>'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `block in require'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:299:in `load_dependency'
        from /var/lib/gems/3.0.0/gems/activesupport-6.1.7/lib/active_support/dependencies.rb:332:in `require'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/application.rb:367:in `require_environment!'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/command/actions.rb:28:in `require_environment!'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/command/actions.rb:15:in `require_application_and_environment!'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/commands/generate/generate_command.rb:21:in `perform'
        from /var/lib/gems/3.0.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
        from /var/lib/gems/3.0.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
        from /var/lib/gems/3.0.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/command/base.rb:69:in `perform'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/command.rb:48:in `invoke'
        from /var/lib/gems/3.0.0/gems/railties-6.1.7/lib/rails/commands.rb:18:in `<top (required)>'
        from bin/rails:4:in `require'
        from bin/rails:4:in `<main>'

完整环境信息

Environment:
  Redmine version                5.0.3.stable
  Ruby version                   3.0.2-p107 (2021-07-07) [x86_64-linux-gnu]
  Rails version                  6.1.7
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
Redmine settings:
  Redmine theme                  Redmine-evolution-classic (includes JavaScript)
SCM:
  Git                            2.34.1
  Filesystem                     
Redmine plugins:
  easy_baseline                  2.0
  easy_gantt                     2.0
  easy_gantt_pro                 2.0
  redmine_agile                  1.6.4
  redmine_checklists             3.1.21
  redmine_contacts               4.3.6
  redmine_contacts_helpdesk      4.2.0
  redmine_dmsf                   3.0.8
  redmine_zenedit                2.0.3
  redmineup_tags                 2.0.12
解决方案

原因

执行rails generate命令时默认加载development环境配置,但你的实际运行环境是production,development环境依赖的listen gem未安装,导致加载失败。

解决步骤

  1. 直接指定production环境执行命令(推荐,无需安装额外依赖):
    RAILS_ENV=production rails generate active_record:session_migration
    
  2. 生成迁移文件后执行数据库迁移:
    RAILS_ENV=production rails db:migrate
    
  3. 修改session存储配置:编辑config/initializers/session_store.rb,将内容改为:
    Rails.application.config.session_store :active_record_store, key: '_redmine_session'
    
  4. 重启Redmine服务,使配置生效。

内容的提问来源于stack exchange,提问作者RickV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:37:04